home *** CD-ROM | disk | FTP | other *** search
/ Winzipper / Winzipper_ISO.iso / nt4.0 server / OEMNSVSM.IN_ / oemnsvsm.inf
INI File  |  1996-07-12  |  108KB  |  2,451 lines

  1. [Identification]
  2.    OptionType = NetService
  3. [Options]
  4.    SFM
  5. [FileConstants]
  6. ProductFullInfName      = "oemnsvsm.inf"
  7. Manufacturer            = "Microsoft"
  8. ProductMajorVersion     = 4
  9. ProductMinorVersion     = 0
  10. ProductVersion          = $(ProductMajorVersion)"."$(ProductMinorVersion)
  11. ProductOpSupport     = 134 
  12. IsInitialInstall        = 0
  13. SFMUnattended        = 0
  14. ProductSFMName           = "SFM"
  15. ProductATALKName        = "AppleTalk"
  16. ProductATALKImagePath   = "%SystemRoot%\system32\drivers\sfmatalk.sys"
  17. ProductATALKSvcType     = "kernel"
  18. ProductATALKType        = "transport"
  19. ProductATALKEventDll    = "%SystemRoot%\system32\sfmatmsg.dll"
  20. NetRuleATALKType        = "appletalk appletalktransport"
  21. NetRuleATALKUse         = $(ProductATALKType)" none none"
  22. NetRuleATALKBindForm    = """appletalk"" yes yes container"
  23. NetRuleATALKClass       = {"appletalktransport basic "}
  24. NetRuleATALKBindList    = {"appletalktransport ndisDriver non non 100", +
  25.                            "appletalktransport ltkndisDriver non exclusive 100" }
  26. ProductAFPSVCName                       = "MacFile"
  27. ProductAFPSVCImagePath                  = "%SystemRoot%\system32\sfmsvc.exe"
  28. ProductAFPSVCType                       = "service"
  29. ProductAFPSVCEventDll                   = "%SystemRoot%\system32\sfmmsg.dll"
  30. NetRuleAFPSVCType               = "MacFile lmNetService"
  31. NetRuleAFPSVCUse                = "service"
  32. ProductAFPSRVRName              = "MacSrv"
  33. ProductAFPSRVRImagePath         = "%SystemRoot%\system32\drivers\sfmsrv.sys"
  34. ProductAFPSRVREventDll          = "%SystemRoot%\system32\sfmmsg.dll"
  35. ProductMACPRINTName             = "MacPrint"
  36. ProductMACPRINTImagePath        = "%SystemRoot%\system32\sfmprint.exe"
  37. ProductMACPRINTType             = "service"
  38. ProductMACPRINTEventDll         = "%SystemRoot%\system32\sfmprint.exe"
  39. ProductMonitorDll               = "sfmmon.dll"
  40. ProductMonitorEventDll          = "%SystemRoot%\system32\sfmmon.dll"
  41. UtilDll                  = "sfmutil.dll"
  42. ResDll                   = "sfmres.dll"
  43. IconsInfFile             = "sfmicons.inf"
  44. !UamResSrcFile           = "sfmuam.rsc"
  45. !UamInfoSrcFile          = "sfmuam.ifo"
  46. !UamResDestFile          = "MS UAM:Afp_Resource"
  47. !UamInfoDestFile         = "MS UAM:Afp_AfpInfo"
  48. !UamReadMeSrcFile        = "sfmuam.txt"
  49. NtNetIniFileName         = $(!STF_WINDOWSSYSPATH)"\ntnet.ini"
  50. WinFileIniFileName       = $(!STF_WINDOWSSYSPATH)"\winfile.ini"
  51. AfpMgrCplFile            = "sfmmgr.cpl"
  52. SrvMgrIniSection         = "SMAddons"
  53. WinFileIniSection        = "Addons"
  54. TypeCreatorMapFile       = "sfmmap.inf"
  55. AtWinSockDll             = "sfmwshat.dll"
  56. PSprintProcFile          = "sfmpsprt.dll"
  57. PSprintProc              = "SFMPSPRT"
  58. !ProductKeyBase         = $(!NTN_SoftwareBase)"\"$(Manufacturer)
  59. !ProductKeyName         = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSFMName)"\CurrentVersion"
  60. !ProductATALKKeyName    = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductATALKName)
  61. !ProductKeyLinkage      = $(!NTN_ServiceBase)"\"$(ProductATALKName)"\Linkage"
  62. !PrintMonKeyName        = "SYSTEM\CurrentControlSet\Control\Print\Monitors"
  63. !EventLogKey            = $(!NTN_ServiceBase)"\EventLog\Application"
  64. AfpPerfLibraryName        = "sfmctrs.dll"
  65. AfpPerfOpenFunction       = "OpenAfpPerformanceData"
  66. AfpPerfCloseFunction      = "CloseAfpPerformanceData"
  67. AfpPerfCollectFunction    = "CollectAfpPerformanceData"
  68. AfpCounterFileName        = "sfmctrs.ini"
  69. AfpEventLogName           = "sfmctrs"
  70. AtalkPerfLibraryName      = "atkctrs.dll"
  71. AtalkPerfOpenFunction     = "OpenAtkPerformanceData"
  72. AtalkPerfCloseFunction    = "CloseAtkPerformanceData"
  73. AtalkPerfCollectFunction  = "CollectAtkPerformanceData"
  74. AtalkCounterFileName      = "atkctrs.ini"
  75. AtalkEventLogName         = "atkctrs"
  76. !PerfKeyName              = "Performance"
  77. [GeneralConstants]
  78. UtilInf                     = "UTILITY.INF"
  79. SubInf                      = "SUBROUTN.INF"
  80. !KeyNull                    = ""
  81. !ACCESS                     = 33554432
  82. !SERVICE_NO_CHANGE          = 4294967295
  83. RegistryErrorIndex          = NO_ERROR
  84. KeyProduct                  = ""
  85. KeyParameters               = ""
  86. TRUE                        = 1
  87. FALSE                       = 0
  88. NoTitle                     = 0
  89. !UamCopyStatus              = TRUE
  90. [date]
  91. Now     = {} ? $(!LIBHANDLE) GetSystemDate
  92. [AvailableSystemMemory]
  93. SystemMemory    = "" ? $(!LIBHANDLE) GetMemorySize
  94. MinSystemMemory = 2048
  95. [FSAndDiskSpace]
  96. VolumeList      = {} ? $(!LIBHANDLE) GetHardDriveLetters
  97. VolumeFreeList  = {} ? $(!LIBHANDLE) GetHardDriveFreeSpace
  98. VolumeFSList    = {} ? $(!LIBHANDLE) GetHardDriveFileSystems
  99. [VolList]
  100. VolumeFSList  = {} ? $(!LIBHANDLE) GetHardDriveFileSystems
  101. VolumeList    = {} ? $(!LIBHANDLE) GetHardDriveLetters
  102. [ExtensionIds]
  103. XCEL1ID = {"ID=1"}
  104. XCEL2ID = {"ID=2"}
  105. XCEL3ID = {"ID=3"}
  106. XCEL4ID = {"ID=4"}
  107. XCEL5ID = {"ID=5"}
  108. XCEL6ID = {"ID=6"}
  109. XCEL7ID = {"ID=7"}
  110. XCEL8ID = {"ID=8"}
  111. XCEL9ID = {"ID=9"}
  112. XCEL10ID = {"ID=10"}
  113. XCEL11ID = {"ID=11"}
  114. XCEL12ID = {"ID=12"}
  115. XCEL13ID = {"ID=13"}
  116. MSWD1ID = {"ID=14"}
  117. MSWD2ID = {"ID=15"}
  118. MSPJ1ID = {"ID=16"}
  119. MSPJ2ID = {"ID=17"}
  120. MSPJ3ID = {"ID=18"}
  121. MSPJ4ID = {"ID=19"}
  122. MSPJ5ID = {"ID=20"}
  123. MSPJ6ID = {"ID=5016"}
  124. ALD31ID = {"ID=21"}
  125. ALD32ID = {"ID=22"}
  126. ALD33ID = {"ID=23"}
  127. MOREID = {"ID=24"}
  128. FOX+ID = {"ID=25"}
  129. ALD41ID = {"ID=26"}
  130. ALD42ID = {"ID=27"}
  131. ALD43ID = {"ID=28"}
  132. ARTZID = {"ID=29"}
  133. SIT!ID = {"ID=30"}
  134. PPT2ID = {"ID=31"}
  135. PPT3ID = {"ID=32"}
  136. L123ID = {"ID=33"}
  137. LMANID = {"ID=34"}
  138. TTXTID = {"ID=35"}
  139. FOXX1ID = {"ID=5000"}
  140. FOXX2ID = {"ID=5001"}
  141. FOXX3ID = {"ID=5002"}
  142. FOXX4ID = {"ID=5003"}
  143. FOXX5ID = {"ID=5004"}
  144. FOXX6ID = {"ID=5005"}
  145. FOXX7ID = {"ID=5006"}
  146. FOXX8ID = {"ID=5007"}
  147. FOXX9ID = {"ID=5008"}
  148. FOXX10ID = {"ID=5009"}
  149. FOXX11ID = {"ID=5010"}
  150. FOXX12ID = {"ID=5011"}
  151. FOXX13ID = {"ID=5012"}
  152. FOXX14ID = {"ID=5013"}
  153. FOXX15ID = {"ID=5014"}
  154. FOXX16ID = {"ID=5015"}
  155. [Identify]
  156.    read-syms Identification
  157.    set Status     = STATUS_SUCCESSFUL
  158.    set Identifier = $(OptionType)
  159.    set Media      = #("Source Media Descriptions", 1, 1)
  160.    Return $(Status) $(Identifier) $(Media)
  161. [ReturnOptions]
  162.    set Status           = STATUS_FAILED
  163.    set OptionList       = {}
  164.    set OptionTextList   = {}
  165.    set LanguageList     = ^(LanguagesSupported, 1)
  166.    Ifcontains(i) $($0) in $(LanguageList)
  167.         goto returnoptions
  168.    else
  169.           set Status = STATUS_NOLANGUAGE
  170.       goto finish_ReturnOptions
  171.    endif
  172. returnoptions = +
  173.    set OptionList     = ^(Options, 1)
  174.    set OptionTextList = ^(OptionsText$($0), 1)
  175.    set Status         = STATUS_SUCCESSFUL
  176. finish_ReturnOptions = +
  177.    Return $(Status) $(OptionList) $(OptionTextList)
  178. [InstallOption]
  179.    set Status   = STATUS_FAILED
  180.    set Option   = $($1)
  181.    set SrcDir   = $($2)
  182.    Set AddCopy  = $($3)
  183.    Set DoCopy   = $($4)
  184.    Set DoConfig = $($5)
  185.    set LanguageList = ^(LanguagesSupported, 1)
  186.    Ifcontains(i) $($0) NOT-IN $(LanguageList)
  187.           return STATUS_NOLANGUAGE
  188.    EndIf
  189.    set-subst LF = "\n"
  190.    set-subst CR = "\r"
  191.    read-syms GeneralConstants
  192.    read-syms FileConstants
  193.    read-syms DialogConstants$(!STF_LANGUAGE)
  194.    read-syms FileConstants$(!STF_LANGUAGE)
  195.    detect date
  196.    set-title  $(FunctionTitle)
  197.    set CommonStatus = STATUS_SUCCESSFUL
  198.    Debug-Output "SFMSETUP: Install Mode = "$(!NTN_InstallMode)
  199.    Debug-Output "SFMSETUP: Origin = "$(!NTN_Origination)
  200.    Debug-Output "SFMSETUP: Phase = "$(!NTN_InstallPhase)
  201.    Debug-Output "SFMSETUP: Context INF = "$(!STF_CONTEXTINFNAME)
  202. Begin = +
  203.    Set REMOVE_SOFTWARE = {}
  204.    Set REMOVE_SERVICES = {}
  205.    IfStr(i) $(!NTN_InstallMode)    ==      deinstall
  206.           Set StartLabel = Removesfm
  207.           Set REMOVE_SOFTWARE = { $(ProductATALKName),+
  208.                                                           $(ProductAFPSVCName),+
  209.                                                           $(ProductMACPRINTName)+
  210.                                                         }
  211.           Set REMOVE_SERVICES = {$(ProductAFPSRVRName)}
  212.           LoadLibrary "x" $(!STF_CWDDIR)$(UtilDll) !UTILHANDLE
  213.    else-Ifstr(i) $(!NTN_InstallMode) == Update
  214.           set StartLabel = Upgradesfm
  215.    else-Ifstr(i) $(!NTN_InstallMode) == configure
  216.           set StartLabel = Configuresfm
  217.    else-Ifstr(i) $(!NTN_InstallMode) == bind
  218.           set StartLabel = Bindingssfm
  219.    else-Ifstr(i) $(!NTN_InstallMode) == install
  220.           set StartLabel = Installsfm
  221.    else
  222.            Set StartLabel = end
  223.    endif
  224.    goto $(StartLabel)
  225. Installsfm = +
  226.    Set FLibraryErrCtl = 1
  227.    OpenRegKey $(!REG_H_LOCAL) "" $(!ProductKeyName) $(!ACCESS) KeyProduct
  228.    Ifstr $(KeyProduct) != $(!KeyNull)
  229.           GetRegValue $(KeyProduct) $(MajorVersion) VersionInfo
  230.           set VersionMajor = *($(VersionInfo), 4)
  231.           GetRegValue $(KeyProduct) $(MinorVersion) VersionInfo
  232.           set VersionMinor = *($(VersionInfo), 4)
  233.           set InstalledVersion = $(VersionMajor)"."$(VersionMinor)
  234.           ifstr(i) $(ProductVersion) == $(InstalledVersion)
  235.                  read-syms MiscErrorString1$(!STF_LANGUAGE)
  236.                  Set Text = $(Version)$(ProductVersion)
  237.                  Shell $(SubInf), SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(Text)$(ErrorString)
  238.                  goto end
  239.           EndIf
  240.    EndIf
  241.    ifstr(i) $(!NTN_InstallMode) == "install"
  242.         Ifstr(i) $(DoCopy) == "YES"
  243.             Shell $(UtilInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
  244.             Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  245.                 Goto ShellCodeError
  246.             Else-Ifstr(i) $($R0) == STATUS_FAILED
  247.                 Shell $(UtilInf) RegistryErrorString "ASK_SOURCE_FAIL"
  248.                 ifint $($ShellCode) != $(!SHELL_CODE_OK)
  249.                     goto ShellCodeError
  250.                 endif
  251.                 set Error = $($R0)
  252.                 Goto end
  253.             Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
  254.                 Goto end
  255.             Endif
  256.             Set SrcDir  = $($R1)
  257.         Endif
  258.    Endif
  259.    read-syms AvailableSystemMemory
  260.    detect AvailableSystemMemory
  261.    Ifint $(SystemMemory) < $(MinSystemMemory)
  262.           read-syms MiscErrorString2(!STF_LANGUAGE)
  263.           shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "FATAL" $(ErrorString)
  264.           goto end
  265.    EndIf
  266.    read-syms FSAndDiskSpace
  267.    detect FSAndDiskSpace
  268.    GetDriveInPath NtDrive $(!STF_WINDOWSSYSPATH)
  269.    Set NTFSVolExists = FALSE
  270.    Set !NTFSVolumeList = {}
  271.    ForListDo $(VolumeFSList)
  272.           Ifstr(i) $($) == "NTFS"
  273.                  Set NTFSVolExists = TRUE
  274.                  Set NTFSVolumeList = >($(NTFSVolumeList),*($(VolumeList),$(#)))
  275.           EndIf
  276.    EndForListDo
  277.    Ifstr(i) $(!STF_GUI_UNATTENDED) != YES
  278.    Ifstr(i) $(NTFSVolExists) == FALSE
  279.           Debug-Output "OEMNSVSM.INF:Install Phase = "$(!NTN_InstallPhase)
  280.           Ifstr(i) $(!NTN_InstallPhase) == primary
  281.                  read-syms NTFSFormatHappening$(!STF_LANGUAGE)
  282.                  Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  283.           Else
  284.                  read-syms AFPString1$(!STF_LANGUAGE)
  285.                  Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  286.           EndIf
  287.    EndIf
  288.    Endif
  289. readvollist = +
  290.    ForListDo $(VolumeList)
  291.           set CurrentVolume = *($(VolumeList), $(#))
  292.           set CurrentVolumeFree  = *($(VolumeFreeList), $(#))
  293.           Ifstr(i) $(CurrentVolume) == $(NtDrive)
  294.               Ifint $(CurrentVolumeFree) < $(RequiredSfmSize)
  295.                    read-syms SetupSpaceDlg$(!STF_LANGUAGE)
  296.                    ui start "SetupSpaceDlg"
  297.                   Ifstr(i) $(DLGEVENT) == "RETRY"
  298.                        read-syms FSAndDiskSpace
  299.                        detect FSAndDiskSpace
  300.                        goto readvollist
  301.                   else
  302.                       goto initialsetupcancel
  303.                   EndIf
  304.               EndIf
  305.           EndIf
  306.    EndForListDo
  307. CopySfmFiles = +
  308.    install "Install-Initial"
  309.    ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  310.               read-syms StatusRemoveSfm$(!STF_LANGUAGE)
  311.               Shell $(SubInf) PushBillBoard NETSTATUSDLG $(Status)
  312.               Shell "" RemoveSfmFiles "INSTALL"
  313.               Shell $(SubInf) PopBillBoard
  314.               goto usercancel
  315.    endif
  316.    Shell "" AddInfToReviewProgramsList
  317.    ifint $($ShellCode) != $(!SHELL_CODE_OK)
  318.        Debug-Output "error shelling AddInfToReviewProgramsList."
  319.        goto ShellCodeError
  320.    endif
  321.    ifstr(i) $($R0) != STATUS_SUCCESSFUL
  322.        Debug-Output "error returned by AddInfToReviewProgramsList."
  323.    endif
  324.    LoadLibrary "x" $(!STF_CWDDIR)$(UtilDll) !UTILHANDLE
  325.    Set Result = ""
  326.    Set FLibraryErrCtl = 1
  327. StartInstall = +
  328.    Set REMOVE_FLAG = TRUE
  329.    set PrintMonInstalled = FALSE
  330.    read-syms StatusInstallSfm$(!STF_LANGUAGE)
  331.    Shell $(SubInf) PushBillBoard NETSTATUSDLG $(Status)
  332.    StartWait
  333.    Set ThisOption = "SFM"
  334.    Shell $(UtilInf), InstallSoftwareProduct, $(Manufacturer),$(Product$(ThisOption)Name), $(ProductFullInfName)
  335.    ifint $(ShellCode) != 0
  336.           goto ShellCodeError
  337.    endif
  338.    set RegistryErrorIndex = $($R0)
  339.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  340.           CloseRegKey $($R1)
  341.       CloseRegKey $($R2)
  342.       goto fatalregistry
  343.    Endif
  344.    Set SfmProductKey       = $($R1)
  345.    Set SfmNetRuleKey       = $($R2)
  346.    set NewValueList = +
  347.                    {{SoftwareType,0,$(!REG_VT_SZ),"service")},+
  348.                    {Infname,0,$(!REG_VT_SZ),$(ProductFullInfName)},+
  349.                    {Title,0,$(!REG_VT_SZ), $(Product$(ThisOption)Title)},+
  350.                    {Description,$(NoTitle),$(!REG_VT_SZ),$(Product$(ThisOption)Description)},+
  351.                    {MajorVersion,0,$(!REG_VT_DWORD),$(ProductMajorVersion)},+
  352.                    {MinorVersion,0,$(!REG_VT_DWORD),$(ProductMinorVersion)},+
  353.                    {InstalledComponents,$(NoTitle),$(!REG_VT_MULTI_SZ),$(TobeInstalledList)},+
  354.                    {OperationsSupport,$(NoTitle),$(!REG_VT_DWORD),$(ProductOpSupport)}, +
  355.                    {InstallDate,0,$(!REG_VT_DWORD),*($(Now),1)}}
  356.    Shell $(UtilInf), AddValueList, $(SfmProductKey), $(NewValueList)
  357.    ifint $(ShellCode) != 0
  358.           goto ShellCodeError
  359.    endif
  360.    set RegistryErrorIndex = $($R0)
  361.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  362.           CloseRegKey $(SfmProductKey)
  363.       CloseRegKey $(SfmNetRuleKey)
  364.       goto fatalregistry
  365.    endif
  366.    Set NewValueList = {{InfOption,$(NoTitle),$(!REG_VT_SZ),$(ThisOption)}, +
  367.                       {Infname,$(NoTitle),$(!REG_VT_SZ),$(ProductFullInfName)}}
  368.    Shell   $(UtilInf), AddValueList, $(SfmNetRuleKey), $(NewValueList)
  369.    ifint $(ShellCode) != 0
  370.        goto ShellCodeError
  371.    endif
  372.    set RegistryErrorIndex = $($R0)
  373.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  374.           CloseRegKey $(SfmProductKey)
  375.       CloseRegKey $(SfmNetRuleKey)
  376.       goto fatalregistry
  377.    Endif
  378.    CloseRegKey $(SfmProductKey)
  379.    CloseRegKey $(SfmNetRuleKey)
  380.    Set ThisOption = ATALK
  381.    Set REMOVE_SOFTWARE = >($(REMOVE_SOFTWARE), $(Product$(ThisOption)Name))
  382.    Set Atalk_DependList = {}
  383.    Set FLibraryErrCtl = 1
  384.    Shell $(UtilInf), AddSoftwareComponent,+
  385.                                          $(Manufacturer), +
  386.                                          $(Product$(ThisOption)Name),+
  387.                                          $(Product$(ThisOption)Name), +
  388.                                          $(Product$(ThisOption)DisplayName), +
  389.                                          $(ProductFullInfName),+
  390.                                          $(Product$(ThisOption)ImagePath),+
  391.                                          "kernelautostart", "PNP_TDI",+
  392.                                          $(Atalk_DependList), "",+
  393.                                          $(Product$(ThisOption)EventDll)
  394.    Set FLibraryErrCtl = 0
  395.    Set RegistryErrorIndex = $($R0)
  396.    Ifstr(i) $(RegistryErrorIndex) !=  NO_ERROR
  397.       ifstr(i) $(RegistryErrorIndex) == SERVICE_ALREADY_EXISTS
  398.          OpenRegKey $(!REG_H_LOCAL) "" +
  399.            $(!NTN_SoftwareBase)"\Microsoft\AppleTalk\CurrentVersion" +
  400.            $(!ACCESS) AtalkKey
  401.          Ifstr(i) $(AtalkKey) != $(!KeyNull)
  402.              SetRegValue $(AtalkKey) {Review,0,$(!REG_VT_DWORD),0}
  403.              CloseRegKey $(AtalkKey)
  404.          endif
  405.          set PrintMonInstalled = TRUE
  406.          goto  InstallAFPSVC
  407.       endif
  408.       CloseRegKey $($R1)
  409.       CloseRegKey $($R2)
  410.       CloseRegKey $($R3)
  411.       CloseRegKey $($R4)
  412.       CloseRegKey $($R5)
  413.       goto fatalregistry
  414.    EndIf
  415.    Set AtkVersKey          = $($R1)
  416.    Set AtkNetRuleKey       = $($R2)
  417.    Set AtkSvcKey           = $($R3)
  418.    Set AtalkParameters     = $($R4)
  419.    Set AtkLinkageKey       = $($R5)
  420.    set NewValueList = +
  421.                  {{SoftwareType,0,$(!REG_VT_SZ),$(Product$(ThisOption)Type)},+
  422.                  {Title,0,$(!REG_VT_SZ),$(Product$(ThisOption)Title)},+
  423.                  {Description,0,$(!REG_VT_SZ),$(Product$(ThisOption)Description)},+
  424.                  {PathName,0,$(!REG_VT_SZ),"%SystemRoot%\system32"},+
  425.                  {ServiceName,0,$(!REG_VT_SZ),$(Product$(ThisOption)Name)},+
  426.                  {Hidden,0,$(!REG_VT_DWORD),1},+
  427.                  {InstallDate,0,$(!REG_VT_DWORD),*($(Now),1)}}
  428.    Shell  $(UtilInf), AddValueList, $(AtkVersKey), $(NewValueList)
  429.    set RegistryErrorIndex = $($R0)
  430.    Ifstr $(RegistryErrorIndex) != NO_ERROR
  431.           CloseRegKey $(AtkVersKey)
  432.       CloseRegKey $(AtkNetRuleKey)
  433.       CloseRegKey $(AtkSvcKey)
  434.       CloseRegKey $(AtkLinkageKey)
  435.       CloseRegKey $(AtalkParameters)
  436.       goto fatalregistry
  437.    EndIf
  438.    set NewValueList = +
  439.                  {{type,0,$(!REG_VT_SZ),$(NetRule$(ThisOption)Type)}, +
  440.          {use,0,$(!REG_VT_SZ),$(NetRule$(ThisOption)Use)}, +
  441.          {bindform,0,$(!REG_VT_SZ),$(NetRule$(ThisOption)BindForm)}, +
  442.          {class,0, $(!REG_VT_MULTI_SZ),$(NetRule$(ThisOption)Class)}, +
  443.          {bindable,0, $(!REG_VT_MULTI_SZ), $(NetRule$(ThisOption)BindList)},+
  444.          {InfOption,0,$(!REG_VT_SZ),$(ThisOption)}, +
  445.          {Infname,0,$(!REG_VT_SZ),$(ProductFullInfName)} }
  446.    Shell  $(UtilInf), AddValueList, $(AtkNetRuleKey), $(NewValueList)
  447.    set RegistryErrorIndex = $($R0)
  448.    Ifstr $(RegistryErrorIndex) != NO_ERROR
  449.           CloseRegKey $(AtkVersKey)
  450.       CloseRegKey $(AtkNetRuleKey)
  451.       CloseRegKey $(AtkSvcKey)
  452.       CloseRegKey $(AtkLinkageKey)
  453.       CloseRegKey $(AtalkParameters)
  454.       goto fatalregistry
  455.    EndIf
  456.    CreateRegKey $(AtkSvcKey), {"Adapters",0,GenericClass},+
  457.                                                           "", $(!ACCESS), "" , KeyAdapters
  458.    Set DesiredZone = ""
  459.    Set UnattendInstallMode = 0
  460.    Ifstr(i) $(!STF_UNATTENDED) == YES
  461.        set UnattendInstallMode = 1
  462.        Debug-Output "SFMSETUP: UnattendInstallMode(1) = "$(UnattendInstallMode)
  463.    endif
  464.    Ifstr(i) $(!STF_GUI_UNATTENDED) == YES
  465.        set UnattendInstallMode = 1           
  466.        Debug-Output "SFMSETUP: UnattendInstallMode(2) = "$(UnattendInstallMode)
  467.    endif
  468.    set NewValueList = +
  469.                  {{EnableRouter,0,$(!REG_VT_DWORD),0},+
  470.                  {InitialInstall,0, $(!REG_VT_DWORD),1},+
  471.                     {Unattended,0, $(!REG_VT_DWORD),$(UnattendInstallMode)},+
  472.                  {DesiredZone,0,$(!REG_VT_SZ),$(DesiredZone)}}
  473.    Shell  $(UtilInf), AddValueList, $(AtalkParameters), $(NewValueList)
  474.    set RegistryErrorIndex = $($R0)
  475.    Ifstr(i) $(RegistryErrorIndex) !=  NO_ERROR
  476.           CloseRegKey $(KeyAdapters)
  477.       goto fatalregistry
  478.    EndIf
  479.    Set WinAtalkDll = "%SystemRoot%\System32\"$(AtWinSockDll)
  480.    Set MaxSockAddrLen      = 8
  481.    Set MinSockAddrLen      = 6
  482.    Shell $(UtilInf) AddWinsockInfo      $(Product$(ThisOption)Name), +
  483.                                                                         $(WinAtalkDll), +
  484.                                                                         $(MaxSockAddrLen),+
  485.                                                                         $(MinSockAddrLen)
  486.    ifstr(i) $($R0) != NO_ERROR
  487.           read-syms AtalkString1$(!STF_LANGUAGE)
  488.       Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  489.    Endif
  490.    Shell "" CreatePerfKey $(AtkSvcKey) $(AtalkPerfLibraryName) +
  491.                           $(AtalkCounterFileName) $(AtalkPerfOpenFunction) +
  492.                           $(AtalkPerfCloseFunction) $(AtalkPerfCollectFunction)
  493.    Ifstr(i) $($R0) != STATUS_SUCCESSFUL
  494.       Set RegistryErrorIndex = $($R1)
  495.       goto fatalregistry
  496.    EndIf
  497.    Shell "" CreateEventLogKey $(AtalkEventLogName) $(AtalkPerfLibraryName)
  498.    Ifstr(i) $($R0) != STATUS_SUCCESSFUL
  499.       Set RegistryErrorIndex = $($R1)
  500.       goto fatalregistry
  501.    EndIf
  502.    Shell "utility.inf" AddRpcProtocol ncacn_at_dsp RpcLtCcm.Dll RpcLtScm.Dll
  503. CloseAtkKeys = +
  504.    CloseRegKey $(AtkVersKey)
  505.    CloseRegKey $(AtkNetRuleKey)
  506.    CloseRegKey $(AtkSvcKey)
  507.    CloseRegKey $(AtkLinkageKey)
  508.    CloseRegKey $(AtalkParameters)
  509.    CloseRegKey $(KeyAdapters)
  510. InstallAFPSVC =+
  511.    Set ThisOption = AFPSVC
  512.    Set REMOVE_SOFTWARE  =       >($(REMOVE_SOFTWARE), $(Product$(ThisOption)Name))
  513.    Set REMOVE_SERVICES  =       >($(REMOVE_SERVICES), $(ProductAFPSRVRName))
  514.    Set FLibraryErrCtl = 1
  515.    Shell $(UtilInf), AddSoftwareComponent, +
  516.                                                 $(Manufacturer), +
  517.                                                 $(Product$(ThisOption)Name),+
  518.                                                 $(Product$(ThisOption)Name), +
  519.                                                 $(Product$(ThisOption)DisplayName), +
  520.                                                 $(ProductFullInfName),+
  521.                                                 $(Product$(ThisOption)ImagePath),+
  522.                                                 "autoserviceshare", "",+
  523.                                                 {"AppleTalk","LanManWorkStation"}, "",+
  524.                                                 $(Product$(ThisOption)EventDll)
  525.    Set FLibraryErrCtl = 0
  526.    Ifint $(ShellCode) != 0
  527.           goto ShellCodeError
  528.    endif
  529.    set RegistryErrorIndex = $($R0)
  530.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  531.           CloseRegKey $($R1)
  532.       CloseRegKey $($R2)
  533.       CloseRegKey $($R3)
  534.       CloseRegKey $($R4)
  535.       CloseRegKey $($R5)
  536.       goto fatalregistry
  537.    endif
  538.    Set McProductKey  = $($R1)
  539.    Set McNetRuleKey  = $($R2)
  540.    Set McServiceKey  = $($R3)
  541.    set McParameters  = $($R4)
  542.    Set McLinkageKey  = $($R5)
  543.    set NewValueList = +
  544.                  {{SoftwareType,0 ,$(!REG_VT_SZ),$(Product$(ThisOption)Type)},+
  545.          {Title,0,$(!REG_VT_SZ),$(Product$(ThisOption)Title)},+
  546.          {Description,0,$(!REG_VT_SZ),$(Product$(ThisOption)Description)},+
  547.          {PathName,0,$(!REG_VT_SZ),"%SystemRoot%\system32"},+
  548.          {ServiceName,0,$(!REG_VT_SZ),$(Product$(ThisOption)Name)},+
  549.          {Hidden,0,$(!REG_VT_DWORD),1},+
  550.          {InstallDate,0,$(!REG_VT_DWORD),*($(Now),1)}}
  551.    Shell   $(UtilInf),AddValueList,$(McProductKey),$(NewValueList)
  552.    ifint $(ShellCode) != 0
  553.           goto ShellCodeError
  554.    endif
  555.    set RegistryErrorIndex = $($R0)
  556.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  557.           CloseRegKey $(McProductKey)
  558.       CloseRegKey $(McNetRuleKey)
  559.       CloseRegKey $(McServiceKey)
  560.       CloseRegKey $(McParameters)
  561.       CloseRegKey $(McLinkageKey)
  562.       goto fatalregistry
  563.    Endif
  564.    set NewValueList = +
  565.                  {{InfOption,$(NoTitle),$(!REG_VT_SZ),$(ThisOption)}, +
  566.                   {Infname ,$(NoTitle),$(!REG_VT_SZ),$(ProductFullInfName)}}
  567.    Shell   $(UtilInf), AddValueList, $(McNetRuleKey), $(NewValueList)
  568.    ifint $(ShellCode) != 0
  569.           goto ShellCodeError
  570.    endif
  571.    set RegistryErrorIndex = $($R0)
  572.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  573.       CloseRegKey $(McProductKey)
  574.       CloseRegKey $(McNetRuleKey)
  575.       CloseRegKey $(McServiceKey)
  576.       CloseRegKey $(McParameters)
  577.       CloseRegKey $(McLinkageKey)
  578.       goto fatalregistry
  579.    endif
  580.    CreateRegKey $(McParameters) {"Type_Creators",0,GenericClass} "" +
  581.                                                                 $(!ACCESS) "" KeyTypeCreator
  582.    CreateRegKey $(McParameters) {"Extensions",0,GenericClass} "" +
  583.                                                                  $(!ACCESS) "" KeyExtensions
  584.    CreateRegKey $(McParameters) {"Icons",0,GenericClass} "" +
  585.                                                                  $(!ACCESS) "" KeyIcons
  586.    CreateRegKey $(McParameters) {"Volumes",$(NoTitle),GenericClass} "" +
  587.                                                                  $(!ACCESS) "" KeyVolumeList
  588.    Shell $(!STF_CWDDIR)$(IconsInfFile) ReadIconVariables
  589.    set NewValueList = +
  590.                  {{LMANDEXE,0,$(!REG_VT_MULTI_SZ),$(!LMANDEXE)},+
  591.          {LMANTEXT,0, $(!REG_VT_MULTI_SZ),$(!LMANTEXT)},+
  592.          {SRVRSRVR,0, $(!REG_VT_MULTI_SZ),$(!SRVRSRVR)}}
  593.    Shell  $(UtilInf),AddValueList,$(KeyIcons),$(NewValueList)
  594.    ifint $(ShellCode) != 0
  595.           goto ShellCodeError
  596.    endif
  597.    set RegistryErrorIndex = $($R0)
  598.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  599.           CloseRegKey $(McProductKey)
  600.           CloseRegKey $(McNetRuleKey)
  601.           CloseRegKey $(McServiceKey)
  602.           CloseRegKey $(McParameters)
  603.           CloseRegKey $(McLinkageKey)
  604.           goto fatalregistry
  605.    endif
  606.    read-syms TCComments$(!STF_LANGUAGE)
  607.    Shell $(!STF_CWDDIR)$(TypeCreatorMapFile) ReadTypeCreatorMappings
  608.    Set NewValueList =  +
  609.                  {{1,0,$(!REG_VT_MULTI_SZ),$(!XCEL1CREATOR)},+
  610.                  {2,0,$(!REG_VT_MULTI_SZ),$(!XCEL2CREATOR)},+
  611.                  {3,0,$(!REG_VT_MULTI_SZ),$(!XCEL3CREATOR)},+
  612.                  {4,0,$(!REG_VT_MULTI_SZ),$(!XCEL4CREATOR)},+
  613.                  {5,0,$(!REG_VT_MULTI_SZ),$(!XCEL5CREATOR)},+
  614.                  {6,0,$(!REG_VT_MULTI_SZ),$(!XCEL6CREATOR)},+
  615.                  {7,0,$(!REG_VT_MULTI_SZ),$(!XCEL7CREATOR)},+
  616.                  {8,0,$(!REG_VT_MULTI_SZ),$(!XCEL8CREATOR)},+
  617.                  {9,0,$(!REG_VT_MULTI_SZ),$(!XCEL9CREATOR)},+
  618.                  {10,0,$(!REG_VT_MULTI_SZ),$(!XCEL10CREATOR)},+
  619.                  {11,0,$(!REG_VT_MULTI_SZ),$(!XCEL11CREATOR)},+
  620.                  {12,0,$(!REG_VT_MULTI_SZ),$(!XCEL12CREATOR)},+
  621.                  {13,0,$(!REG_VT_MULTI_SZ),$(!XCEL13CREATOR)},+
  622.                  {14,0,$(!REG_VT_MULTI_SZ),$(!MSWD1CREATOR)},+
  623.                  {15,0,$(!REG_VT_MULTI_SZ),$(!MSWD2CREATOR)},+
  624.                  {16,0,$(!REG_VT_MULTI_SZ),$(!MSPJ1CREATOR)},+
  625.                  {17,0,$(!REG_VT_MULTI_SZ),$(!MSPJ2CREATOR)},+
  626.                  {18,0,$(!REG_VT_MULTI_SZ),$(!MSPJ3CREATOR)},+
  627.                  {19,0,$(!REG_VT_MULTI_SZ),$(!MSPJ4CREATOR)},+
  628.                  {20,0,$(!REG_VT_MULTI_SZ),$(!MSPJ5CREATOR)},+
  629.                  {5016,0,$(!REG_VT_MULTI_SZ),$(!MSPJ6CREATOR)},+
  630.                  {21,0,$(!REG_VT_MULTI_SZ),$(!ALD31CREATOR)},+
  631.                  {22,0,$(!REG_VT_MULTI_SZ),$(!ALD32CREATOR)},+
  632.                  {23,0,$(!REG_VT_MULTI_SZ),$(!ALD33CREATOR)},+
  633.                  {24,0,$(!REG_VT_MULTI_SZ),$(!MORECREATOR)},+
  634.                  {25,0,$(!REG_VT_MULTI_SZ),$(!FOX+CREATOR)},+
  635.                  {26,0,$(!REG_VT_MULTI_SZ),$(!ALD41CREATOR)},+
  636.                  {27,0,$(!REG_VT_MULTI_SZ),$(!ALD42CREATOR)},+
  637.                  {28,0,$(!REG_VT_MULTI_SZ),$(!ALD43CREATOR)},+
  638.                  {29,0,$(!REG_VT_MULTI_SZ),$(!ARTZCREATOR)},+
  639.                  {30,0,$(!REG_VT_MULTI_SZ),$(!SIT!CREATOR)},+
  640.                  {31,0,$(!REG_VT_MULTI_SZ),$(!PPT2CREATOR)},+
  641.                  {32,0,$(!REG_VT_MULTI_SZ),$(!PPT3CREATOR)},+
  642.                  {33,0,$(!REG_VT_MULTI_SZ),$(!L123CREATOR)},+
  643.                  {34,0,$(!REG_VT_MULTI_SZ),$(!LMANCREATOR)},+
  644.          {35,0,$(!REG_VT_MULTI_SZ),$(!TTXTCREATOR)},+
  645.          {5000,0,$(!REG_VT_MULTI_SZ),$(!FOXX1CREATOR)},+
  646.          {5001,0,$(!REG_VT_MULTI_SZ),$(!FOXX2CREATOR)},+
  647.          {5002,0,$(!REG_VT_MULTI_SZ),$(!FOXX3CREATOR)},+
  648.          {5003,0,$(!REG_VT_MULTI_SZ),$(!FOXX4CREATOR)},+
  649.          {5004,0,$(!REG_VT_MULTI_SZ),$(!FOXX5CREATOR)},+
  650.          {5005,0,$(!REG_VT_MULTI_SZ),$(!FOXX6CREATOR)},+
  651.          {5006,0,$(!REG_VT_MULTI_SZ),$(!FOXX7CREATOR)},+
  652.          {5007,0,$(!REG_VT_MULTI_SZ),$(!FOXX8CREATOR)},+
  653.          {5008,0,$(!REG_VT_MULTI_SZ),$(!FOXX9CREATOR)},+
  654.          {5009,0,$(!REG_VT_MULTI_SZ),$(!FOXX10CREATOR)},+
  655.          {5010,0,$(!REG_VT_MULTI_SZ),$(!FOXX11CREATOR)},+
  656.          {5011,0,$(!REG_VT_MULTI_SZ),$(!FOXX12CREATOR)},+
  657.          {5012,0,$(!REG_VT_MULTI_SZ),$(!FOXX13CREATOR)},+
  658.          {5013,0,$(!REG_VT_MULTI_SZ),$(!FOXX14CREATOR)},+
  659.          {5014,0,$(!REG_VT_MULTI_SZ),$(!FOXX15CREATOR)},+
  660.          {5015,0,$(!REG_VT_MULTI_SZ),$(!FOXX16CREATOR)},+
  661.          {5100,0,$(!REG_VT_MULTI_SZ),$(!MSWD3CREATOR)},+
  662.                  {5101,0,$(!REG_VT_MULTI_SZ),$(!MSWD4CREATOR)}}
  663.    Shell  $(UtilInf),AddValueList,$(KeyTypeCreator),$(NewValueList)
  664.    ifint $(ShellCode) != 0
  665.           goto ShellCodeError
  666.    endif
  667.    set RegistryErrorIndex = $($R0)
  668.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  669.           CloseRegKey $(McProductKey)
  670.           CloseRegKey $(McNetRuleKey)
  671.           CloseRegKey $(McServiceKey)
  672.           CloseRegKey $(McParameters)
  673.           CloseRegKey $(McLinkageKey)
  674.           goto fatalregistry
  675.    endif
  676.    read-syms ExtensionIds
  677.    Set NewValueList =  +
  678.                  {{XLC,0,$(!REG_VT_MULTI_SZ),$(XCEL1ID)},+
  679.                  {XLS,0,$(!REG_VT_MULTI_SZ),$(XCEL2ID)},+
  680.                  {XLM,0,$(!REG_VT_MULTI_SZ),$(XCEL3ID)},+
  681.                  {XLW,0,$(!REG_VT_MULTI_SZ),$(XCEL4ID)},+
  682.                  {XLA,0,$(!REG_VT_MULTI_SZ),$(XCEL5ID)},+
  683.                  {XLT,0,$(!REG_VT_MULTI_SZ),$(XCEL6ID)},+
  684.                  {SLK,0,$(!REG_VT_MULTI_SZ),$(XCEL7ID)},+
  685.                  {WKS,0,$(!REG_VT_MULTI_SZ),$(XCEL8ID)},+
  686.                  {WK1,0,$(!REG_VT_MULTI_SZ),$(XCEL9ID)},+
  687.                  {CSV,0,$(!REG_VT_MULTI_SZ),$(XCEL10ID)},+
  688.                  {DIF,0,$(!REG_VT_MULTI_SZ),$(XCEL11ID)},+
  689.                  {DOC,0,$(!REG_VT_MULTI_SZ),$(MSWD1ID)},+
  690.                  {MCW,0,$(!REG_VT_MULTI_SZ),$(MSWD1ID)},+
  691.                  {WRD,0,$(!REG_VT_MULTI_SZ),$(MSWD2ID)},+
  692.                  {RTF,0,$(!REG_VT_MULTI_SZ),$(MSWD2ID)},+
  693.                  {STY,0,$(!REG_VT_MULTI_SZ),$(MSWD2ID)},+
  694.                  {GLY,0,$(!REG_VT_MULTI_SZ),$(MSWD2ID)},+
  695.                  {TXT,0,$(!REG_VT_MULTI_SZ),$(MSWD2ID)},+
  696.                  {MPP,0,$(!REG_VT_MULTI_SZ),$(MSPJ1ID)},+
  697.                  {MPX,0,$(!REG_VT_MULTI_SZ),$(MSPJ2ID)},+
  698.                  {MPC,0,$(!REG_VT_MULTI_SZ),$(MSPJ3ID)},+
  699.                  {MPV,0,$(!REG_VT_MULTI_SZ),$(MSPJ4ID)},+
  700.                  {MPW,0,$(!REG_VT_MULTI_SZ),$(MSPJ5ID)},+
  701.                  {MPT,0,$(!REG_VT_MULTI_SZ),$(MSPJ6ID)},+
  702.                  {PM4,0,$(!REG_VT_MULTI_SZ),$(ALD41ID)},+
  703.                  {PT4,0,$(!REG_VT_MULTI_SZ),$(ALD42ID)},+
  704.                  {TEM,0,$(!REG_VT_MULTI_SZ),$(ALD42ID)},+
  705.                  {TPL,0,$(!REG_VT_MULTI_SZ),$(ALD42ID)},+
  706.                  {TIF,0,$(!REG_VT_MULTI_SZ),$(ALD43ID)},+
  707.                  {RDY,0,$(!REG_VT_MULTI_SZ),$(MOREID)},+
  708.                  {PUB,0,$(!REG_VT_MULTI_SZ),$(ALD31ID)},+
  709.                  {EPS,0,$(!REG_VT_MULTI_SZ),$(ARTZID)},+
  710.                  {SIT,0,$(!REG_VT_MULTI_SZ),$(SIT!ID)},+
  711.                  {PPT,0,$(!REG_VT_MULTI_SZ),$(PPT3ID)},+
  712.                  {WK3,0,$(!REG_VT_MULTI_SZ),$(L123ID)},+
  713.                  {UAM,0,$(!REG_VT_MULTI_SZ),$(TTXTID)},+
  714.                  {EXE,0,$(!REG_VT_MULTI_SZ),$(LMANID)},+
  715.                  {DLL,0,$(!REG_VT_MULTI_SZ),$(LMANID)},+
  716.                  {COM,0,$(!REG_VT_MULTI_SZ),$(LMANID)},+
  717.                  {BAT,0,$(!REG_VT_MULTI_SZ),$(LMANID)},+
  718.                  {CMD,0,$(!REG_VT_MULTI_SZ),$(LMANID)},+
  719.                  {SYS,0,$(!REG_VT_MULTI_SZ),$(LMANID)},+
  720.                  {DBF,0,$(!REG_VT_MULTI_SZ),$(FOXX1ID)},+
  721.                  {FPT,0,$(!REG_VT_MULTI_SZ),$(FOXX2ID)},+
  722.                  {IDX,0,$(!REG_VT_MULTI_SZ),$(FOXX3ID)},+
  723.                  {CDX,0,$(!REG_VT_MULTI_SZ),$(FOXX4ID)},+
  724.                  {PRG,0,$(!REG_VT_MULTI_SZ),$(FOXX5ID)},+
  725.                  {FRX,0,$(!REG_VT_MULTI_SZ),$(FOXX6ID)},+
  726.                  {FRT,0,$(!REG_VT_MULTI_SZ),$(FOXX7ID)},+
  727.                  {LBX,0,$(!REG_VT_MULTI_SZ),$(FOXX8ID)},+
  728.                  {LBT,0,$(!REG_VT_MULTI_SZ),$(FOXX9ID)},+
  729.                  {SCX,0,$(!REG_VT_MULTI_SZ),$(FOXX10ID)},+
  730.                  {SCT,0,$(!REG_VT_MULTI_SZ),$(FOXX11ID)},+
  731.                  {MNX,0,$(!REG_VT_MULTI_SZ),$(FOXX12ID)},+
  732.                  {MNT,0,$(!REG_VT_MULTI_SZ),$(FOXX13ID)},+
  733.                  {QPR,0,$(!REG_VT_MULTI_SZ),$(FOXX14ID)},+
  734.                  {PJX,0,$(!REG_VT_MULTI_SZ),$(FOXX15ID)},+
  735.                  {PJT,0,$(!REG_VT_MULTI_SZ),$(FOXX16ID)}}
  736.    Shell  $(UtilInf),AddValueList,$(KeyExtensions),$(NewValueList)
  737.    ifint $(ShellCode) != 0
  738.       goto ShellCodeError
  739.    endif
  740.    set RegistryErrorIndex = $($R0)
  741.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  742.           CloseRegKey $(McProductKey)
  743.       CloseRegKey $(McNetRuleKey)
  744.       CloseRegKey $(McServiceKey)
  745.       CloseRegKey $(McParameters)
  746.       CloseRegKey $(McLinkageKey)
  747.       goto fatalregistry
  748.    endif
  749.    Ifstr(i) $(NTFSVolExists) == TRUE
  750.           Ifstr(i) $(!UamCopyStatus) == TRUE
  751.                  Shell "" DoUAMInstall "INSTALL"
  752.                  Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  753.                         Goto ShellCodeError
  754.                  EndIf
  755.       EndIf
  756.    EndIf
  757.    SetRegValue $(McParameters) {ServerOptions,0,$(!REG_VT_DWORD),3}
  758.    CloseRegKey $(McProductKey)
  759.    CloseRegKey $(McNetRuleKey)
  760.    CloseRegKey $(McServiceKey)
  761.    CloseRegKey $(McParameters)
  762.    CloseRegKey $(McLinkageKey)
  763.    CloseRegKey $(KeyTypeCreator)
  764.    CloseRegKey $(KeyExtensions)
  765.    CloseRegKey $(KeyIcons)
  766.    CloseRegKey $(KeyVolumeList)
  767.    Set Afp_DependList = {"+TDI"}
  768.    Set FLibraryErrCtl = 1
  769.    Shell $(UtilInf)  CreateService,+
  770.                      $(ProductAFPSRVRName),$(ProductAFPSRVRDisplayName),+
  771.                      $(ProductAFPSRVRImagePath),"system",+
  772.                      "Network", $(Afp_DependList),"",+
  773.                      $(ProductAFPSRVREventDll)
  774.    Set FLibraryErrCtl = 0
  775.    Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  776.           goto ShellCodeError
  777.    endif
  778.    set RegistryErrorIndex = $($R0)
  779.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  780.           goto fatalregistry
  781.    endif
  782.    Set AfpSrvSvcKey = $($R1)
  783.    Shell "" CreatePerfKey $(AfpSrvSvcKey) $(AfpPerfLibraryName) +
  784.                           $(AfpCounterFileName) $(AfpPerfOpenFunction) +
  785.                           $(AfpPerfCloseFunction) $(AfpPerfCollectFunction)
  786.    Ifstr(i) $($R0) != STATUS_SUCCESSFUL
  787.       Set RegistryErrorIndex = $($R1)
  788.       goto fatalregistry
  789.    EndIf
  790.    Shell "" CreateEventLogKey $(AfpEventLogName) $(AfpPerfLibraryName)
  791.    Ifstr(i) $($R0) != STATUS_SUCCESSFUL
  792.       Set RegistryErrorIndex = $($R1)
  793.       goto fatalregistry
  794.    EndIf
  795.    CloseRegKey $($R1)
  796.    CloseRegKey $($R2)
  797.    CloseRegKey $($R3)
  798.    Set IniFile = $(NtNetIniFileName)
  799.    Set IniString = $(AfpMgrCplFile)
  800.    Set IniSection = $(SrvMgrIniSection)
  801.    Set FLibraryErrCtl = 1
  802.    LibraryProcedure IniStatus $(!UTILHANDLE) WriteAfpMgrIniStrings, $(IniSection), $(IniString), $(IniFile)
  803.    Set FLibraryErrCtl = 0
  804.    ifstr(i) $(IniStatus) == "FAILED"
  805.           read-syms AFPString3$(!STF_LANGUAGE)
  806.           shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  807.    EndIf
  808.    Set IniFile = $(WinFileIniFileName)
  809.    Set IniString = $(AfpMgrCplFile)
  810.    Set IniSection = $(WinFileIniSection)
  811.    Set FLibraryErrCtl = 1
  812.    LibraryProcedure IniStatus $(!UTILHANDLE) WriteAfpMgrIniStrings, $(IniSection), $(IniString), $(IniFile)
  813.    Set FLibraryErrCtl = 0
  814.    ifstr(i) $(IniStatus) == "FAILED"
  815.           read-syms AFPString2$(!STF_LANGUAGE)
  816.       shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  817.    EndIf
  818.    Set ThisOption = MACPRINT
  819.    Set REMOVE_SOFTWARE = >($(REMOVE_SOFTWARE), $(Product$(ThisOption)Name))
  820.    Set FLibraryErrCtl = 1
  821.    Shell $(UtilInf), AddSoftwareComponent, +
  822.                                          $(Manufacturer), +
  823.                                          $(Product$(ThisOption)Name), +
  824.                                          $(Product$(ThisOption)Name),+
  825.                                          $(Product$(ThisOption)DisplayName), +
  826.                                          $(ProductFullInfName), +
  827.                                          $(Product$(ThisOption)ImagePath),+
  828.                                          "serviceauto", "", +
  829.                                          {"AppleTalk", "Spooler"},"",+
  830.                                          $(Product$(ThisOption)EventDll) "", +
  831.                                          "Application", ""
  832.    Set FLibraryErrCtl = 0
  833.    ifint $(ShellCode) != 0
  834.           goto ShellCodeError
  835.    EndIf
  836.    set RegistryErrorIndex = $($R0)
  837.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  838.       CloseRegKey $($R1)
  839.       CloseRegKey $($R2)
  840.       CloseRegKey $($R3)
  841.       CloseRegKey $($R4)
  842.       CloseRegKey $($R5)
  843.       goto fatalregistry
  844.    EndIf
  845.    Set MpProductKey     = $($R1)
  846.    Set MpNetRuleKey     = $($R2)
  847.    Set MpServiceKey     = $($R3)
  848.    Set MpParameters = $($R4)
  849.    Set MpLinkageKey = $($R5)
  850.    set NewValueList = +
  851.                  {{SoftwareType,0,$(!REG_VT_SZ),$(Product$(ThisOption)Type)},+
  852.          {Title,0,$(!REG_VT_SZ),$(Product$(ThisOption)Title)},+
  853.          {Description,0,$(!REG_VT_SZ),$(Product$(ThisOption)Description)},+
  854.          {PathName,$(NoTitle),$(!REG_VT_SZ),"%SystemRoot%\system32"},+
  855.          {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(Product$(ThisOption)Name)},+
  856.          {Hidden,0,$(!REG_VT_DWORD),1},+
  857.          {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  858.    Shell $(UtilInf),AddValueList,$(MpProductKey),$(NewValueList)
  859.    ifint $(ShellCode) != 0
  860.           goto ShellCodeError
  861.    EndIf
  862.    set RegistryErrorIndex = $($R0)
  863.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  864.       CloseRegKey $(MpProductKey)
  865.       CloseRegKey $(MpNetRuleKey)
  866.       CloseRegKey $(MpServiceKey)
  867.       CloseRegKey $(MpParameters)
  868.       CloseRegKey $(MpLinkageKey)
  869.       goto fatalregistry
  870.    EndIf
  871.    set NewValueList = {{InfOption,0,$(!REG_VT_SZ),$(ThisOption)}, +
  872.                       {Infname,0,$(!REG_VT_SZ),$(ProductFullInfName)}}
  873.    Shell $(UtilInf), AddValueList, $(MpNetRuleKey), $(NewValueList)
  874.    ifint $(ShellCode) != 0
  875.           goto ShellCodeError
  876.    EndIf
  877.    set RegistryErrorIndex = $($R0)
  878.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  879.           CloseRegKey $(MpProductKey)
  880.       CloseRegKey $(MpNetRuleKey)
  881.       CloseRegKey $(MpParameters)
  882.       CloseRegKey $(MpLinkageKey)
  883.       CloseRegKey $(MpServiceKey)
  884.       goto fatalregistry
  885.    EndIf
  886.    set NewValueList = {{OtherDependencies,0,$(!REG_VT_MULTI_SZ),{"AppleTalk"}}}
  887.    Shell $(UtilInf), AddValueList $(MpLinkageKey), $(NewValueList)
  888.    ifint $(ShellCode) != 0
  889.           goto ShellCodeError
  890.    EndIf
  891.    set RegistryErrorIndex = $($R0)
  892.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  893.       CloseRegKey $(MpProductKey)
  894.       CloseRegKey $(MpNetRuleKey)
  895.       CloseRegKey $(MpParameters)
  896.       CloseRegKey $(MpLinkageKey)
  897.       CloseRegKey $(MpServiceKey)
  898.       goto fatalregistry
  899.    EndIf
  900.    CloseRegKey $(MpProductKey)
  901.    CloseRegKey $(MpNetRuleKey)
  902.    CloseRegKey $(MpParameters)
  903.    CloseRegKey $(MpLinkageKey)
  904.    CloseRegKey $(MpServiceKey)
  905.    Set MacPrintEventLogKey = $(!EventLogKey)"\"$(ThisOption)
  906.    OpenRegKey $(!REG_H_LOCAL) "" $(MacPrintEventLogKey) $(!ACCESS) MacEvntLogKey
  907.    ifstr(i) $(MacEvntLogKey) != $(!KeyNull)
  908.           Set EventFile = $(ProductMACPRINTEventDll)
  909.           Set NewValueList = +
  910.                         {{CategoryMessageFile,0,$(!REG_VT_EXPAND_SZ),$(EventFile)}, +
  911.             {CategoryCount,0,$(!REG_VT_DWORD),5}}
  912.           Shell $(UtilInf) AddValueList, $(MacEvntLogKey), $(NewValueList)
  913.           ifint $(ShellCode) != 0
  914.                  goto ShellCodeError
  915.           EndIf
  916.           set RegistryErrorIndex = $($R0)
  917.           CloseRegKey $(MacEvntLogKey)
  918.           Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  919.                  goto fatalregistry
  920.           EndIf
  921.    Else
  922.           read-syms MacPrintString2$(!STF_LANGUAGE)
  923.       Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  924.    EndIf
  925.    ifstr(i) $(PrintMonInstalled) == FALSE
  926.        Set AddMonStatus = ""
  927.        Set FLibraryErrCtl = 1
  928.        LibraryProcedure AddMonStatus $(!UTILHANDLE) SfmAddPrintMonitor $(!AtalkMonName)
  929.        Set FLibraryErrCtl = 0
  930.        ifstr(i) $(AddMonStatus) == "FAILED"
  931.           read-syms MacPrintString4$(!STF_LANGUAGE)
  932.           Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  933.        EndIf
  934.        OpenRegKey $(!REG_H_LOCAL) "" $(!EventLogKey) $(!ACCESS) EvntLogKey
  935.        ifstr(i) $(EvntLogKey) != $(!KeyNull)
  936.               CreateRegKey $(EvntLogKey) +
  937.                    {$(!AtalkMonEventLogName),0,GenericClass} "" +
  938.                    $(!ACCESS) "" AtalkMonKey
  939.               Set EventFile = "%SystemRoot%\system32\sfmmon.dll"
  940.               Set NewValueList = +
  941.                    {{CategoryMessageFile,0,$(!REG_VT_EXPAND_SZ),$(EventFile)},+
  942.                    {EventMessageFile,0,$(!REG_VT_EXPAND_SZ),$(EventFile)},+
  943.                    {CategoryCount,0,$(!REG_VT_DWORD),4},+
  944.                    {TypesSupported,0,$(!REG_VT_DWORD),7}}
  945.               Shell $(UtilInf) AddValueList $(AtalkMonKey) $(NewValueList)
  946.               ifint $(ShellCode) != 0
  947.                      goto ShellCodeError
  948.               EndIf
  949.               set RegistryErrorIndex = $($R0)
  950.               CloseRegKey $(AtalkMonKey)
  951.               CloseRegKey $(EvntLogKey)
  952.               Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  953.                  goto fatalregistry
  954.               EndIf
  955.        Else
  956.           read-syms MacPrintString10$(!STF_LANGUAGE)
  957.           Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  958.        EndIf
  959.    EndIf
  960.    Set PrintProcDir = ""
  961.    Set FLibraryErrCtl = 1
  962.    LibraryProcedure PrintProcDir $(!UTILHANDLE) GetPrintProcDir
  963.    Set FLibraryErrCtl = 0
  964.    ifstr(i) $(PrintProcDir) == "FAILED"
  965.           read-syms MacPrintString6$(!STF_LANGUAGE)
  966.       Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  967.       goto pstodibdone
  968.    Endif
  969.    Set !PrintProcDir = $(PrintProcDir)
  970.    install "Install-PSPrint"
  971.    Set FLibraryErrCtl = 1
  972.    LibraryProcedure Status $(!UTILHANDLE) AddPrintProc $(PSprintProcFile) $(PSprintProc)
  973.    Set FLibraryErrCtl = 0
  974.    ifstr(i) $(Status) != SUCCESS
  975.           read-syms MacPrintString3$(!STF_LANGUAGE)
  976.       Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  977.    EndIf
  978. pstodibdone = +
  979.     install "Install-WinFile-Icon"
  980.     EndWait
  981.     FreeLibrary $(!UTILHANDLE)
  982.     Shell $(SubInf) PopBillBoard
  983.     goto successful
  984. Configuresfm = +
  985.    OpenRegKey $(!REG_H_LOCAL) "" $(!ProductKeyLinkage) $(!ACCESS) LinkageKey
  986.    ifstr(i) $(LinkageKey) != $(!KeyNull)
  987.           GetRegValue $(LinkageKey) "Bind" BindList
  988.       ifstr(i) $(BindList) == ""
  989.                  read-syms AtalkString3$(!STF_LANGUAGE)
  990.          Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  991.              goto endconfigui
  992.       endif
  993.    else
  994.           Set RegistryErrorIndex = $($R0)
  995.       goto fatalregistry
  996.    EndIf
  997.    LoadLibrary "x" $(!STF_CWDDIR)sfmatcfg.dll ATHANDLE
  998.    Set FLibraryErrCtl = 1
  999.    Set atcfgresult = ""
  1000.    Debug-Output "SFMSETUP: SFMUnattended"$(SFMUnattended)
  1001.    Debug-Output "SFMSETUP: IsInitialInstall"$(IsInitialInstall)
  1002.    LibraryProcedure atcfgresult, $(ATHANDLE),EnterAtalkConfigDLL $(!STF_HWND) $(IsInitialInstall) $(SFMUnattended)
  1003.    FreeLibrary $(ATHANDLE)
  1004. endconfigui = +
  1005.    Set CommonStatus = STATUS_USERCANCEL
  1006.    goto usercancel
  1007. Bindingssfm = +
  1008.    Set DefaultPortRemoved = FALSE
  1009.    Shell "" RemoveAllServiceDependencies "AppleTalk"
  1010.    OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\AppleTalk\Linkage" $(!ACCESS) LinkageKey
  1011.    Ifstr(i) $(LinkageKey) == $(!KeyNull)
  1012.           Set RegistryErrorIndex = UNABLE_ACCESS_CONFIGURE_SERVICE
  1013.           Goto fatalregistry
  1014.    Endif
  1015.    OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\AppleTalk\Parameters" $(!ACCESS) BindParmKey
  1016.    Ifstr(i) $(BindParmKey) == $(!KeyNull)
  1017.           Set RegistryErrorIndex = UNABLE_ACCESS_CONFIGURE_SERVICE
  1018.           Goto fatalregistry
  1019.    Endif
  1020.    Set BindList = {}
  1021.    Set ExportList = {}
  1022.    Set RouteList  = {}
  1023.    GetRegValue $(LinkageKey) "Bind" BindList
  1024.    GetRegValue $(LinkageKey) "Export" ExportList
  1025.    GetRegValue $(LinkageKey) "Route" RouteList
  1026.    GetRegValue $(LinkageKey) "Exclude" ExcludeList
  1027.    QueryListSize BindCount $(BindList)
  1028.    IfInt $(BindCount) == 0
  1029.           Goto endbinding
  1030.    Endif
  1031.    set NewBindList = {}
  1032.    set NewExportList = {}
  1033.    set NewRouteList = {}
  1034.    ForListDo *($(BindList),4)
  1035.           Split-String $($), "\", BindInfo
  1036.           set NewBindList = >($(NewBindList), *($(BindInfo),4))
  1037.    EndForListDo
  1038.    Debug-Output "OEMNSVSM.INF: Review bindings NewBindList "$(NewBindList)
  1039.    ForListDo *($(ExportList),4)
  1040.           set NewExportList = >($(NewExportList), $($))
  1041.    EndForListDo
  1042.    ForListDo *($(RouteList),4)
  1043.           set NewRouteList = >($(NewRouteList), $($))
  1044.    EndForListDo
  1045.    ForListDo *($(ExcludeList),4)
  1046.           set NewExcludeList = >($(NewExcludeList), $($))
  1047.    EndForListDo
  1048.    OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\AppleTalk\Adapters" $(!ACCESS) AdapterKey
  1049.    Ifstr(i) $(AdapterKey) == $(!KeyNull)
  1050.           Set RegistryErrorIndex = UNABLE_ACCESS_CONFIGURE_SERVICE
  1051.           Goto fatalregistry
  1052.    Endif
  1053.    set AdapterList = ""
  1054.    EnumRegKey $(AdapterKey) AdapterList
  1055.    Set AtalkAdapterList = {}
  1056.    ForListDo $(AdapterList)
  1057.           Set AtalkAdapterList = >($(AtalkAdapterList), *($($),1))
  1058.    EndForListDo
  1059.    QueryListSize AdapterCount $(AtalkAdapterList)
  1060.    Set fAddingFirstAdapter = FALSE
  1061.    ifint $(AdapterCount) == 0
  1062.           Set fAddingFirstAdapter = TRUE
  1063.    EndIf
  1064.    Set NewBindings = ""
  1065.    Set TobeUsedBindList = {}
  1066.    Set TobeUsedExportList = {}
  1067.    Set TobeUsedRouteList = {}
  1068.    ForListDo $(NewBindList)
  1069.        IfContains(i) $($) not-in $(AtalkAdapterList)
  1070.            Set NewBindings = TRUE
  1071.            Set TobeUsedBindList = >($(TobeUsedBindList),"\Device\"$($))
  1072.            Set TobeUsedExportList = >($(TobeUsedExportList),*($(NewExportList),$(#)))
  1073.            Set TobeUsedRouteList = >($(TobeUsedRouteList),*($(NewRouteList),$(#)))
  1074.            Shell "" CreateAtalkConfig $($) $(AdapterKey)
  1075.            Ifstr(i) $($R0) != STATUS_SUCCESSFUL
  1076.               CloseRegKey $(AdapterKey)
  1077.               Set RegistryErrorIndex = $($R1)
  1078.               goto fatalregistry
  1079.            EndIf
  1080.        Else
  1081.            Set TobeUsedBindList = >($(TobeUsedBindList),"\Device\"$($))
  1082.            Set TobeUsedExportList = >($(TobeUsedExportList),*($(NewExportList),$(#)))
  1083.            Set TobeUsedRouteList = >($(TobeUsedRouteList),*($(NewRouteList),$(#)))
  1084.        Endif
  1085.    EndForListDo
  1086.    set NewValueList = {{Bind,0,$(!REG_VT_MULTI_SZ),$(TobeUsedBindList)}, +
  1087.                       {Export,0,$(!REG_VT_MULTI_SZ),$(TobeUsedExportList)}, +
  1088.                       {Route,0,$(!REG_VT_MULTI_SZ),$(TobeUsedRouteList)}}
  1089.    Ifstr(i) $(NewBindings) == TRUE
  1090.       Shell  $(UtilInf), AddValueList, $(LinkageKey), $(NewValueList)
  1091.       set RegistryErrorIndex = $($R0)
  1092.       CloseRegKey $(LinkageKey)
  1093.       Ifstr(i) $(RegistryErrorIndex) !=  NO_ERROR
  1094.          goto fatalregistry
  1095.       EndIf
  1096.    EndIf
  1097.    Set DefaultPort = {}
  1098.    Set MediaTypeList = {}
  1099.    GetRegValue $(BindParmKey) "DefaultPort" DefaultPort
  1100.    Ifstr(i) $(DefaultPort) != {}
  1101.           goto removeadapters
  1102.    EndIf
  1103. finddefaultport = +
  1104.    ForListDo $(TobeUsedBindList)
  1105.           Split-String $($) "\" PortName
  1106.           Shell "" FindMediaType *($(PortName),4)
  1107.           Ifstr(i) $($R0) == STATUS_SUCCESSFUL
  1108.                  Set MediaTypeList = >($(MediaTypeList), $($R1))
  1109.           EndIf
  1110.    EndForListDo
  1111.    Ifcontains(i) "1" in $(MediaTypeList)
  1112.           ForListDo $(MediaTypeList)
  1113.              Ifint $($) == 1
  1114.                 Set DefaultPort = *($(TobeUsedBindList),$(#))
  1115.                 goto defportdone
  1116.              EndIf
  1117.           EndForListDo
  1118.    else-ifcontains(i) "2" in $(MediaTypeList)
  1119.           ForListDo $(MediaTypeList)
  1120.                  Ifint $($) == 2
  1121.                     Set DefaultPort = *($(TobeUsedBindList),$(#))
  1122.                     goto defportdone
  1123.                  EndIf
  1124.           EndForListDo
  1125.    else-ifcontains(i) "3" in $(MediaTypeList)
  1126.           ForListDo $(MediaTypeList)
  1127.                  Ifint $($) == 3
  1128.                     Set DefaultPort = *($(TobeUsedBindList),$(#))
  1129.                     goto defportdone
  1130.                  EndIf
  1131.           EndForListDo
  1132.    else-ifcontains(i) "4" in $(MediaTypeList)
  1133.           ForListDo $(MediaTypeList)
  1134.                  Ifint $($) == 4
  1135.                     Set DefaultPort = *($(TobeUsedBindList),$(#))
  1136.                     goto defportdone
  1137.                  EndIf
  1138.           EndForListDo
  1139.    else-ifcontains(i) "5" in $(MediaTypeList)
  1140.           Set DefaultPort = *($(TobeUsedBindList),1)
  1141.    else
  1142.           read-syms NoAdaptersFound$(!STF_LANGUAGE)
  1143.           Shell $(SubInf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(ErrorString)
  1144.           Set DefaultPort = ""
  1145.           Set NewValueList = {{DefaultPort,0,$(!REG_VT_SZ),$(DefaultPort)}}
  1146.           Shell  $(UtilInf), AddValueList, $(BindParmKey), $(NewValueList)
  1147.           set RegistryErrorIndex = $($R0)
  1148.           Ifstr(i) $(RegistryErrorIndex) !=  NO_ERROR
  1149.                  goto fatalregistry
  1150.           EndIf
  1151.       goto endbinding
  1152.    Endif
  1153. defportdone = +
  1154.    Set NewValueList = {{DefaultPort,0,$(!REG_VT_SZ),$(DefaultPort)}}
  1155.    Shell  $(UtilInf), AddValueList, $(BindParmKey), $(NewValueList)
  1156.    set RegistryErrorIndex = $($R0)
  1157.    Ifstr(i) $(RegistryErrorIndex) !=  NO_ERROR
  1158.           goto fatalregistry
  1159.    EndIf
  1160.    goto startconfig
  1161. removeadapters = +
  1162.    Split-String *($(DefaultPort),4) "\" PortName
  1163.    Debug-Output "OEMNSVSM.INF:Review Bindings PortName "*($(PortName),4)
  1164.    ForListDo $(AtalkAdapterList)
  1165.       Debug-Output "OEMNSVSM.INF:Review Bindings Adapter "$($)
  1166.       Ifcontains(i) $($) not-in $(NewBindList)
  1167.          DeleteRegKey $(AdapterKey) $($)
  1168.          Ifstr(i) $($) == *($(PortName),4)
  1169.             read-syms RemoveDefaultPort$(!STF_LANGUAGE)
  1170.             Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "FATAL" $(ErrorString)
  1171.             Set DefaultPortRemoved = TRUE
  1172.             goto finddefaultport
  1173.          Endif
  1174.       EndIf
  1175.    EndForListDo
  1176. startconfig = +
  1177.    Set DoConfig = 0
  1178.    GetRegValue $(BindParmKey) "InitialInstall" DoConfig
  1179.    Set IsInitialInstall = *($(DoConfig),4)
  1180.    Set DoUnattended = 0
  1181.    GetRegValue $(BindParmKey) "Unattended" DoUnattended
  1182.    Set SFMUnattended = *($(DoUnattended),4)
  1183.    Debug-Output "SFMSETUP: SFMUnattended(start config)"$(SFMUnattended)
  1184.    Debug-Output "Config State = "$(DoConfig)
  1185.    Debug-Output "Unattend State = "$(DoUnattended)
  1186.    ifint $(IsInitialInstall) == 1
  1187.           goto startsvc
  1188.    EndIf
  1189.    ifstr(i) $(DefaultPortRemoved) == TRUE
  1190.           goto startsvc
  1191.    endif
  1192.    ifstr(i) $(fAddingFirstAdapter) == TRUE
  1193.           goto startsvc
  1194.    endif
  1195.    goto endbinding
  1196. startsvc = +
  1197.    Set FLibraryErrCtl = 1
  1198.    read-syms StatusStartingAppleTalk$(!STF_LANGUAGE)
  1199.    Shell $(SubInf) PushBillBoard NETSTATUSDLG $(Status)
  1200.    StartWait
  1201.    Set WaitStarted = 1
  1202.    LibraryProcedure START_RESULT $(!NCPA_HANDLE), CPlSetup $(!STF_HWND), STARTSVC, AppleTalk
  1203.    Shell $(SubInf) PopBillBoard
  1204.    Set START_STATUS = *($(START_RESULT),1)
  1205.    Debug-Output "OEMNSVSM.INF: Start AppleTalk; result was: "$(START_STATUS)
  1206.    Ifint $(START_STATUS) != 0
  1207.           EndWait
  1208.           Set WaitStarted = 0
  1209.           LibraryProcedure START_RESULT $(!NCPA_HANDLE), CPlSetup $(!STF_HWND), ERRORMSG, $(START_STATUS)
  1210.           Set ATALK_ERROR_MESSAGE = *($(START_RESULT),2)
  1211.           read-syms CannotStartAtalk$(!STF_LANGUAGE)
  1212.           Set ErrorString  = $(ATALK_ERROR_MESSAGE)$(ErrorSuffix)
  1213.           Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "FATAL" $(ErrorString)
  1214.    Else
  1215.           LibraryProcedure START_RESULT $(!NCPA_HANDLE), CPlSetup $(!STF_HWND), STARTSVC, Afd
  1216.           Set START_STATUS = *($(START_RESULT),1)
  1217.           Debug-Output "OEMNSVSM.INF: Start Afd result was: "$(START_STATUS)
  1218.           Ifint $(START_STATUS) != 0
  1219.                  EndWait
  1220.                  Set WaitStarted = 0
  1221.                  LibraryProcedure START_RESULT $(!NCPA_HANDLE), CPlSetup $(!STF_HWND), ERRORMSG, $(START_STATUS)
  1222.                  Set ATALK_ERROR_MESSAGE = *($(START_RESULT),2)
  1223.                  read-syms CannotStartAfd$(!STF_LANGUAGE)
  1224.                  Set ErrorString  = $(ATALK_ERROR_MESSAGE)$(ErrorSuffix)
  1225.                  Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "FATAL" $(ErrorString)
  1226.                  goto endbinding
  1227.           EndIf
  1228.           LibraryProcedure START_RESULT $(!NCPA_HANDLE), CPlSetup $(!STF_HWND), STARTSVC, +NDIS
  1229.           Set START_STATUS = *($(START_RESULT),1)
  1230.           Debug-Output "OEMNSVSM.INF: Start +NDIS result was: "$(START_STATUS)
  1231.           Ifint $(START_STATUS) != 0
  1232.              EndWait
  1233.              Set WaitStarted = 0
  1234.              LibraryProcedure START_RESULT $(!NCPA_HANDLE), CPlSetup $(!STF_HWND), ERRORMSG, $(START_STATUS)
  1235.              Set ATALK_ERROR_MESSAGE = *($(START_RESULT),2)
  1236.              read-syms CannotStartAtalk$(!STF_LANGUAGE)
  1237.              Set ErrorString  = $(ATALK_ERROR_MESSAGE)$(ErrorSuffix)
  1238.              Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "FATAL" $(ErrorString)
  1239.              goto endbinding
  1240.           EndIf
  1241.           LoadLibrary "x" $(!STF_CWDDIR)sfmatcfg.dll ATHANDLE
  1242.           Set FLibraryErrCtl = 1
  1243.           Set atcfgresult = ""
  1244.           Debug-Output "SFMSETUP: SFMUnattended(1)"$(SFMUnattended)
  1245.           LibraryProcedure atcfgresult, $(ATHANDLE),EnterAtalkConfigDLL $(!STF_HWND) $(IsInitialInstall) $(SFMUnattended)
  1246.           FreeLibrary $(ATHANDLE)
  1247.           EndWait
  1248.    EndIf
  1249. endbinding = +
  1250.    ifint $(IsInitialInstall) == 1
  1251.        SetRegValue $(BindParmKey) {InitialInstall,0,$(!REG_VT_DWORD),0}
  1252.    EndIf
  1253.    ifint $(SFMUnattended) == 1
  1254.        SetRegValue $(BindParmKey) {Unattended,0,$(!REG_VT_DWORD),0}
  1255.    EndIf
  1256.    CloseRegKey $(BindParmKey)
  1257.    goto end
  1258. Removesfm = +
  1259.    Set FLibraryErrCtl  = 1
  1260.    Ifcontains(i) "MacFile" in $(REMOVE_SOFTWARE)
  1261.           Set IniFile = $(NtNetIniFileName)
  1262.       Set IniSection = $(SrvMgrIniSection)
  1263.       Set Result = ""
  1264.       Set FLibraryErrCtl = 1
  1265.       LibraryProcedure Result, $(!UTILHANDLE), WriteAfpMgrIniStrings, $(IniSection), NULL, $(IniFile)
  1266.       Set FLibraryErrCtl = 0
  1267.       ifstr(i) $(Result) == "FAILED"
  1268.       endif
  1269.       Set IniFile = $(WinFileIniFileName)
  1270.       Set IniSection = $(WinFileIniSection)
  1271.       Set FLibraryErrCtl = 1
  1272.       LibraryProcedure Result, $(!UTILHANDLE), WriteAfpMgrIniStrings, $(IniSection), NULL, $(IniFile)
  1273.       Set FLibraryErrCtl = 0
  1274.    EndIf
  1275.    Shell "" RemoveInfFromReviewPrograms
  1276.    Shell $(UtilInf), RemoveWinsockInfo, $(ProductATALKName)
  1277.    Shell "utility.inf" RemoveRpcProtocol ncacn_at_dsp
  1278.    read-syms StatusRemoveSfm$(!STF_LANGUAGE)
  1279.    Shell $(SubInf) PushBillBoard NETSTATUSDLG $(Status)
  1280.    Shell "" RemoveSfmFiles "REMOVE"
  1281.    Shell $(SubInf)  PopBillBoard
  1282.    OpenRegKey $(!REG_H_LOCAL) "" $(!ProductKeyBase) $(!ACCESS) ProductKey
  1283.    Ifstr $(ProductKey) == $(!KeyNull)
  1284.           set RegistryErrorIndex = UNABLE_ACCESS_CONFIGURE_SERVICE
  1285.       goto fatalregistry
  1286.    endif
  1287.    DeleteRegTree $(ProductKey) $(ProductSFMName)
  1288.    CloseRegKey $(ProductKey)
  1289.    ForListDo  $(REMOVE_SOFTWARE)
  1290.        debug-output "Removing component: "$($)
  1291.        Shell $(UtilInf), RemoveSoftwareComponent, $(Manufacturer), $($)
  1292.    EndForListDo
  1293.    ForListDo  $(REMOVE_SERVICES)
  1294.        debug-output "Removing component service: "$($)
  1295.        Shell $(UtilInf), RemoveService, $($), "YES"
  1296.    EndForListDo
  1297.    Ifcontains(i) "MACPRINT" in $(REMOVE_SOFTWARE)
  1298.           Set DelMonStatus = ""
  1299.       Set FLibraryErrCtl = 1
  1300.       LibraryProcedure DelMonStatus $(!UTILHANDLE) SfmDeletePrintMonitor $(!AtalkMonName)
  1301.       Set FLibraryErrCtl = 0
  1302.       ifstr(i) $(DelMonStatus) == "FAILED"
  1303.                  read-syms MacPrintString7$(!STF_LANGUAGE)
  1304.          Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  1305.       EndIf
  1306.       OpenRegKey $(!REG_H_LOCAL) "" $(!EventLogKey) $(!ACCESS) LogKey
  1307.       Ifstr(i) $(LogKey) == $(!KeyNull)
  1308.                  Set RegistryErrorIndex = $($R0)
  1309.          goto fatalregistry
  1310.       EndIf
  1311.       Set AtalkMonKey = $(!AtalkMonEventLogName)
  1312.       DeleteRegTree $(LogKey) $(AtalkMonKey)
  1313.       Set MacPrintKey = "MACPRINT"
  1314.       DeleteRegTree $(LogKey) $(MacPrintKey)
  1315.       CloseRegKey $(LogKey)
  1316.       Set DelStatus = ""
  1317.       Set FLibraryErrCtl = 1
  1318.       LibraryProcedure DelStatus $(!UTILHANDLE) DeletePrintProc "\\"$(!STF_COMPUTERNAME) SFMPSPRT
  1319.       Set FLibraryErrCtl = 0
  1320.       Ifstr(i) $(DelStatus) == FAILED
  1321.                  read-syms MacPrintString5$(!STF_LANGUAGE)
  1322.          Shell $(SubInf) SetupMessage "NONFATAL" $(ErrorString)
  1323.       EndIf
  1324.    EndIf
  1325.    Ifcontains(i) "AppleTalk" in $(REMOVE_SOFTWARE)
  1326.           Shell $(UtilInf) UpdateWinsockService "AppleTalk" FALSE
  1327.    EndIf
  1328.    Ifstr(i) $($R0) != NO_ERROR
  1329.           read-syms AtalkString2$(!STF_LANGUAGE)
  1330.       Shell $(SubInf) SetupMessage "NONFATAL" $(ErrorString)
  1331.    EndIf
  1332.    install "Remove-WinFile-Icon"
  1333.    FreeLibrary $(!UTILHANDLE)
  1334.    Set FLibraryErrCtl = 1
  1335.    LibraryProcedure Status, $(!LIBHANDLE), DelFile $(!STF_CWDDIR)$(UtilDll)
  1336.    Set FLibraryErrCtl = 0
  1337.    goto end
  1338. Upgradesfm = +
  1339.    Debug-Output "In Upgradesfm"
  1340.    OpenRegKey $(!REG_H_LOCAL) "" $(!ProductKeyName) $(!ACCESS) KeyProduct
  1341.    Ifstr $(KeyProduct) != $(!KeyNull)
  1342.         Debug-Output "Opened "$(!ProductKeyName)
  1343.         ifstr(i) $(Option) != "SFM"
  1344.             Debug-Output "OEMNSVSM.INF: Not running upgrade on option: "$Option)
  1345.             CloseRegKey $(KeyProduct)
  1346.             set CommonStatus = STATUS_NOEFFECT
  1347.             goto end
  1348.         endif
  1349.         install "Remove-WinFile-Icon"
  1350.         install "Install-WinFile-Icon"
  1351.          GetRegValue $(KeyProduct),"MajorVersion", VersionInfo
  1352.          set Version = *($(VersionInfo), 4)
  1353.          Split-String $(!NTN_Infname), "\", FilenameList
  1354.          QueryListSize ListSize $(FilenameList)
  1355.          set !UG_Filename = *($(FilenameList), $(ListSize))
  1356.          install Install-Update
  1357.          ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  1358.               goto fatal
  1359.          endif
  1360.          LoadLibrary "x" $(!STF_CWDDIR)$(UtilDll) !UTILHANDLE
  1361.          Shell "" DoUamInstall "INSTALL"
  1362.          FreeLibrary $(!UTILHANDLE)
  1363.          LoadLibrary "x" $(!STF_CWDDIR)sfmatcfg.dll ATHANDLE
  1364.          LibraryProcedure STATUS, $(ATHANDLE), ChangeAdapterNum
  1365.          FreeLibrary $(ATHANDLE)
  1366.          Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1367.                 Goto ShellCodeError
  1368.          EndIf
  1369.          OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(ProductATALKName) +
  1370.                                     $(!ACCESS) AtkSvcKey
  1371.          Ifstr $(AtkSvcKey) != $(!KeyNull)
  1372.              Shell "" CreatePerfKey $(AtkSvcKey) $(AtalkPerfLibraryName) +
  1373.                           $(AtalkCounterFileName) $(AtalkPerfOpenFunction) +
  1374.                           $(AtalkPerfCloseFunction) $(AtalkPerfCollectFunction)
  1375.              Ifstr(i) $($R0) != STATUS_SUCCESSFUL
  1376.                 CloseRegKey $(AtkSvcKey)
  1377.                 Set RegistryErrorIndex = $($R1)
  1378.                 goto fatalregistry
  1379.              EndIf
  1380.              Shell "" CreateEventLogKey $(AtalkEventLogName) +
  1381.                                         $(AtalkPerfLibraryName)
  1382.              Ifstr(i) $($R0) != STATUS_SUCCESSFUL
  1383.                 CloseRegKey $(AtkSvcKey)
  1384.                 Set RegistryErrorIndex = $($R1)
  1385.                 goto fatalregistry
  1386.              EndIf
  1387.              Debug-Output "OEMNSVSM.INF: Changing Group membership."
  1388.              SetRegValue $(AtkSvcKey) {Group, $(NoTitle), $(!REG_VT_SZ), "PNP_TDI" }
  1389.              OpenRegKey $(AtkSvcKey) "" "Linkage" $(!ACCESS) AtkLinkageKey
  1390.              Ifstr $(AtkLinkageKey) != $(!KeyNull)
  1391.                  Debug-Output "OEMNSVSM.INF: Deleting OtherDependencies"
  1392.                  DeleteRegValue $(AtkLinkageKey) "OtherDependencies"
  1393.                  CloseRegKey $(AtkLinkageKey)
  1394.              Endif
  1395.              CloseRegKey $(AtkSvcKey)
  1396.          Else
  1397.              Debug-Output "OEMNSVSM.INF: error opening ATALK service key."
  1398.          EndIf
  1399.          Shell "utility.inf" AddRpcProtocol ncacn_at_dsp RpcLtCcm.Dll RpcLtScm.Dll
  1400.          OpenRegKey $(!REG_H_LOCAL) "" +
  1401.                                     $(!NTN_ServiceBase)"\"$(ProductAFPSRVRName) +
  1402.                                     $(!ACCESS) AfpSrvSvcKey
  1403.          Ifstr $(AfpSrvSvcKey) != $(!KeyNull)
  1404.              Shell "" CreatePerfKey $(AfpSrvSvcKey) $(AfpPerfLibraryName) +
  1405.                           $(AfpCounterFileName) $(AfpPerfOpenFunction) +
  1406.                           $(AfpPerfCloseFunction) $(AfpPerfCollectFunction)
  1407.              Ifstr(i) $($R0) != STATUS_SUCCESSFUL
  1408.                 Set RegistryErrorIndex = $($R1)
  1409.                 goto fatalregistry
  1410.              EndIf
  1411.              CloseRegKey $(AfpSrvSvcKey)
  1412.              Shell "" CreateEventLogKey $(AfpEventLogName) $(AfpPerfLibraryName)
  1413.              Ifstr(i) $($R0) != STATUS_SUCCESSFUL
  1414.                 Set RegistryErrorIndex = $($R1)
  1415.                 goto fatalregistry
  1416.              EndIf
  1417.          Else
  1418.              Debug-Output "OEMNSVSM.INF: error opening AFPSRV service key."
  1419.          EndIf
  1420.          set KeyCurrentVersion = ""
  1421.          set SoftKeyName = $(!ProductKeyBase)"\"$(ProductATALKName)"\CurrentVersion"
  1422.          OpenRegKey $(!REG_H_LOCAL) "" $(SoftKeyName) $(!ACCESS) KeyCurrentVersion
  1423.          ifstr $(KeyCurrentVersion) == ""
  1424.             Debug-Output "OEMNSVSM.INF: Update Software values: couldn't open "$(SoftKeyName)
  1425.          else   
  1426.              SetRegValue $(KeyCurrentVersion) {Title,0,$(!REG_VT_SZ),$(ProductATALKTitle)}
  1427.              SetRegValue $(KeyCurrentVersion) {Description,0,$(!REG_VT_SZ),$(ProductATALKDescription)}
  1428.              CloseRegKey $(KeyCurrentVersion)
  1429.          endif
  1430.          set KeyCurrentVersion = ""
  1431.          set MacPrintSoftKeyName = $(!ProductKeyBase)"\"$(ProductMACPRINTName)"\CurrentVersion"
  1432.          OpenRegKey $(!REG_H_LOCAL) "" $(MacPrintSoftKeyName) $(!ACCESS) KeyCurrentVersion
  1433.          ifstr $(KeyCurrentVersion) == ""
  1434.             Debug-Output "OEMNSVSM.INF:UpdateSoftwareType: couldn't open "$(MacPrintSoftKeyName)
  1435.          else   
  1436.              SetRegValue $(KeyCurrentVersion) {SoftwareType, 0, $(!REG_VT_SZ), "service" }
  1437.              SetRegValue $(KeyCurrentVersion) {Title,0,$(!REG_VT_SZ),$(ProductMACPRINTTitle)}
  1438.              SetRegValue $(KeyCurrentVersion) {Description,0,$(!REG_VT_SZ),$(ProductMACPRINTDescription)}
  1439.              CloseRegKey $(KeyCurrentVersion)
  1440.          endif
  1441.          set KeyCurrentVersion = ""
  1442.          OpenRegKey $(!REG_H_LOCAL) "" $(!ProductKeyName) $(!ACCESS) KeyCurrentVersion
  1443.          ifstr $(KeyCurrentVersion) == ""
  1444.             Debug-Output "OEMNSVSM.INF:UpdateSoftwareType: couldn't open " $(!ProductKeyName)
  1445.          else   
  1446.              SetRegValue $(KeyCurrentVersion) {SoftwareType, 0, $(!REG_VT_SZ), "service" }
  1447.              SetRegValue $(KeyCurrentVersion) {Title,0,$(!REG_VT_SZ),$(ProductSFMTitle)}
  1448.              SetRegValue $(KeyCurrentVersion) {Description,0,$(!REG_VT_SZ),$(ProductSFMDescription)}
  1449.              SetRegValue $(KeyCurrentVersion) {OperationsSupport,$(NoTitle),$(!REG_VT_DWORD),$(ProductOpSupport)}
  1450.              CloseRegKey $(KeyCurrentVersion)
  1451.          endif
  1452.          OpenRegKey $(!REG_H_LOCAL) "" +
  1453.                                     $(!NTN_ServiceBase)\$(ProductMACPRINTName) +
  1454.                                     $(!ACCESS) MacPrintSvcKey
  1455.          Ifstr $(MacPrintSvcKey) != $(!KeyNull)
  1456.             Debug-Output "OEMNSVSM.INF: Changing group dependency of MACPRINT"
  1457.             set newDependList = {"Spooler"}
  1458.             set TmpList = {}
  1459.             GetRegValue  $(MacPrintSvcKey) "DependOnService" TmpList
  1460.             ifint $(RegLastError) == 0
  1461.                 Debug-Output "OEMNSVSM.INF old depend List "*($(TmpList), 4)
  1462.                 ForListDo *($(TmpList),4)
  1463.                    ifstr(i) $($) != "Spooler"
  1464.                        set newDependList = >($(newDependList), $($))
  1465.                    endif
  1466.                 EndForListDo
  1467.             endif
  1468.             Debug-Output "OEMNSVSM.INF: new depend List "$(newDependList)
  1469.             LibraryProcedure Result, $(!LIBHANDLE), SetupChangeServiceConfig, $(ProductMACPRINTName) $(!SERVICE_NO_CHANGE), $(!SERVICE_NO_CHANGE), $(!SERVICE_NO_CHANGE), "", "", $(newDependList), "", "", ""
  1470.             OpenRegKey $(MacPrintSvcKey) "" "Linkage" $(!ACCESS) LinkageKey
  1471.             Ifstr $(LinkageKey) != $(!KeyNull)
  1472.                 set newDependList = {"Spooler"}
  1473.                 set TmpList = {}
  1474.                 GetRegValue  $(LinkageKey) "OtherDependencies" TmpList
  1475.                 Debug-Output "OEMNSVSM.INF: old other depend List "*($(TmpList), 4)
  1476.                 ifint $(RegLastError) == 0
  1477.                     ForListDo *($(TmpList),4)
  1478.                        ifstr(i) $($) != "Spooler"
  1479.                            set newDependList = >($(newDependList), $($))
  1480.                        endif
  1481.                     EndForListDo
  1482.                 endif
  1483.                 Debug-Output "OEMNSVSM.INF: new other depend List "$(newDependList)
  1484.                 SetRegValue $(LinkageKey) {OtherDependencies,0,$(!REG_VT_MULTI_SZ),$(newDependList)}
  1485.                 CloseRegKey $(LinkageKey)
  1486.             else
  1487.                Debug-Output "OEMNSVSM.INF: error opening MACPRINT linkage key."
  1488.             endif
  1489.             CloseRegKey $(MacPrintSvcKey)
  1490.             set MacFileNetRules = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductAFPSVCName)"\CurrentVersion\NetRules"
  1491.             OpenRegKey $(!REG_H_LOCAL) "" $(MacFileNetRules) $(!ACCESS) NetRuleKey
  1492.             Ifstr $(NetRuleKey) != $(!KeyNull)
  1493.                 Debug-Output "OEMNSVSM.INF: Removing bogus MacFile netrules"
  1494.                 DeleteRegValue $(NetRuleKey) "type"
  1495.                 DeleteRegValue $(NetRuleKey) "use"
  1496.                 CloseRegKey $(NetRuleKey)
  1497.             EndIf
  1498.          Else
  1499.              Debug-Output "OEMNSVSM.INF: error opening MACPRINT service key."
  1500.          EndIf
  1501.          SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)}
  1502.          SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)}
  1503.          CloseRegKey $(KeyProduct)
  1504.         Set MaskAllAccess  = 33554432
  1505.         Set NewInfName = "oemnsvsm.inf"
  1506.         Set CacheKey   = "SOFTWARE\Microsoft\Ncpa\InfOptions" 
  1507.         Set CacheValue = "oemnxpsm.inf"
  1508.         OpenRegKey $(!REG_H_LOCAL) "" $(CacheKey) $(MaskAllAccess) Cache
  1509.         Ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
  1510.             DeleteRegTree $(Cache) $(CacheValue)
  1511.             CloseRegKey $(Cache)
  1512.         endif
  1513.        OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_SoftwareBase)"\Microsoft\Ncpa\CurrentVersion" $(!ACCESS) NCPA
  1514.        ifstr(i) $(NCPA) != $(!KeyNull)
  1515.            GetRegValue $(NCPA) "ReviewPrograms" BindList
  1516.            ifcontains(i) "OEMNXPSM.INF" in *($(BindList),4)
  1517.                debug-output "Removing old inf, oemnxpsm.inf from post-review list"
  1518.                set NewBindList = {}
  1519.                ForListDo *($(BindList),4)
  1520.                    ifstr(i) $($) != "OEMNXPSM.INF"
  1521.                        set NewBindList = >($(NewBindList), $($))
  1522.                    else
  1523.                    ifcontains(i) "OEMNSVSM.INF" not-in *($(BindList),4)
  1524.                        set NewBindList = >($(NewBindList), "OEMNSVSM.INF")
  1525.                    endif
  1526.                    endif
  1527.                EndForListDo
  1528.                SetRegValue $(NCPA) {"ReviewPrograms", 0, +
  1529.                                     $(!REG_VT_MULTI_SZ),$(NewBindList)}
  1530.            endif
  1531.            CloseRegKey $(NCPA)
  1532.        endif
  1533.        OpenRegKey $(!REG_H_LOCAL) "" +
  1534.          $(!NTN_SoftwareBase)"\Microsoft\AppleTalk\CurrentVersion\NetRules" +
  1535.          $(!ACCESS) AtalkNetRulesKey
  1536.        Ifstr(i) $(AtalkNetRulesKey) != $(!KeyNull)
  1537.            SetRegValue $(AtalkNetRulesKey) {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleATALKUse)}
  1538.            CloseRegKey $(AtalkNetRulesKey)
  1539.        endif
  1540.    Shell $(UtilInf) UpdateWinsockMappings $(ProductATALKName) "%SystemRoot%\System32\"$(AtWinSockDll)
  1541.    set RegistryErrorIndex = $($R0)
  1542.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1543.        Debug-Output "OEMNSVSM.INF: Registry error: Add Winsock Info."
  1544.    Endif
  1545.    else
  1546.        OpenRegKey $(!REG_H_LOCAL) "" $(!ProductATALKKeyName) $(!ACCESS) KeyATalkProduct 
  1547.        ifstr(i) $(KeyATalkProduct) != $(!KeyNull)
  1548.          LoadLibrary "x" $(!STF_CWDDIR)sfmutil.dll !UTILHANDLE
  1549.          Shell $(UtilInf), RemoveSoftwareComponent, $(Manufacturer), $(ProductATALKName)
  1550.          Set DelMonStatus = ""
  1551.          Set FLibraryErrCtl = 1
  1552.          LibraryProcedure DelMonStatus $(!UTILHANDLE) SfmDeletePrintMonitor $(!AtalkMonName)
  1553.          Set FLibraryErrCtl = 0
  1554.          ifstr(i) $(DelMonStatus) == "FAILED"
  1555.            read-syms AtalkString5$(!STF_LANGUAGE)
  1556.            Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  1557.          EndIf
  1558.          OpenRegKey $(!REG_H_LOCAL) "" $(!EventLogKey) $(!ACCESS) LogKey
  1559.          Ifstr(i) $(LogKey) != $(!KeyNull)
  1560.            Set AtalkMonKey = $(!AtalkMonEventLogName)
  1561.            DeleteRegTree $(LogKey) $(AtalkMonKey)
  1562.            CloseRegKey $(LogKey)
  1563.          endif
  1564.          Shell $(UtilInf), RemoveWinsockInfo, $(ProductATALKName)
  1565.          Shell "utility.inf" RemoveRpcProtocol ncacn_at_dsp
  1566.          FreeLibrary $(!UTILHANDLE)
  1567.          CloseRegKey $(KeyATalkProduct)
  1568.        else
  1569.            Debug-Output "OEMNSVSM.INF: error opening prodcut key."
  1570.            Set RegistryErrorIndex = $($R0)
  1571.            goto fatalregistry
  1572.        endif
  1573.    endif
  1574.    goto end
  1575. successful = +
  1576.     Set Status = STATUS_SUCCESSFUL
  1577.     goto end
  1578. fatalregistry = +
  1579.    EndWait
  1580.    Shell $(UtilInf) RegistryErrorString $(RegistryErrorIndex)
  1581.    IfInt $(ShellCode) != 0
  1582.           goto ShellCodeError
  1583.    Endif
  1584.    set Error = $($R0)
  1585.    goto fatal
  1586. fatal = +
  1587.    Ifint $(BillboardVisible) != 0
  1588.           Shell $(SubInf) PopBillboard
  1589.       Set BillboardVisible = 0
  1590.    Endif
  1591.    read-syms MiscErrorString3$(!STF_LANGUAGE)
  1592.    Shell $(SubInf) SetupMessage, $(!STF_LANGUAGE), "FATAL",$(ErrorString)$(Error)
  1593.    ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1594.           goto ShellCodeError
  1595.    endif
  1596.    goto failed
  1597. ShellCodeError = +
  1598.    read-syms ShellingError$(!STF_LANGUAGE)
  1599.    Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "FATAL" $(ErrorString)
  1600. failed = +
  1601.    set CommonStatus = STATUS_FAILED
  1602.    ifstr(i) $(REMOVE_FLAG) == TRUE
  1603.           set REMOVE_FLAG = FALSE
  1604.       goto Removesfm
  1605.    endif
  1606.    goto end
  1607. initialsetupcancel = +
  1608.    Set CommonStatus = STATUS_USERCANCEL
  1609.    goto end
  1610. usercancel = +
  1611.    Set CommonStatus = STATUS_USERCANCEL
  1612. end = +
  1613.    Return $(CommonStatus)
  1614. [BindingsReview]
  1615.     set Option   = $($1)
  1616.     set SrcDir   = $($2)
  1617.     set AddCopy  = $($3)
  1618.     set DoCopy   = $($4)
  1619.     set DoConfig = $($5)
  1620.     set Language = $(!STF_LANGUAGE)
  1621.     set SaveInstallMode = $(!NTN_InstallMode)
  1622.     set !NTN_InstallMode = bind
  1623.     Shell "" InstallOption $(Language) $(Option) $(SrcDir) $(AddCopy) $(DoCopy) $(DoConfig)
  1624.     set !NTN_InstallMode = $(SaveInstallMode)
  1625.     set Status = $($R0)
  1626.     Return $(Status)
  1627. [AddInfToReviewProgramsList]
  1628.     Debug-Output "AddInfToReviewPrograms: entry"
  1629.     set Status  = STATUS_FAILED
  1630.     set KeyNull = ""
  1631.     set NcpaKeyName = $(!NTN_SoftwareBase)"\Microsoft\Ncpa\CurrentVersion"
  1632.     set newList = {"OEMNSVSM.INF"}
  1633.     OpenRegKey $(!REG_H_LOCAL) "" $(NcpaKeyName) $(!ACCESS) KeyNcpa
  1634.     Ifstr(i) $(KeyNcpa) != $(KeyNull)
  1635.         GetRegValue    $(KeyNcpa) "ReviewPrograms" TmpList
  1636.         ifint $(RegLastError) == 0
  1637.             Debug-Output "AddInf: old List "*($(TmpList), 4)
  1638.             ForListDo *($(TmpList),4)
  1639.                 ifstr(i) $($) != "OEMNSVSM.INF"
  1640.                     set newList = >($(newList), $($))
  1641.                 endif
  1642.             EndForListDo
  1643.             Debug-Output "OEMNSVSM.INF: AddInf: new List "$(newList)
  1644.             SetRegValue $(KeyNcpa) {ReviewPrograms, 0, +
  1645.                                     $(!REG_VT_MULTI_SZ),$(newList)}
  1646.             CloseRegKey $(KeyNcpa)
  1647.             Set Status = STATUS_SUCCESSFUL
  1648.         endif
  1649.     else
  1650.         Debug-Output "AddInfToReviewPrograms: error opening ncpa key."
  1651.     endif
  1652.     Debug-Output "AddInfToReviewPrograms: exit"
  1653.     return $(Status)
  1654. [RemoveInfFromReviewPrograms]
  1655.     Debug-Output "RemoveInfFromReviewPrograms: entry"
  1656.     set Status  = STATUS_FAILED
  1657.     set KeyNull = ""
  1658.     set NcpaKeyName = $(!NTN_SoftwareBase)"\Microsoft\Ncpa\CurrentVersion"
  1659.     set newList = {}
  1660.     OpenRegKey $(!REG_H_LOCAL) "" $(NcpaKeyName) $(!ACCESS) KeyNcpa
  1661.     Ifstr(i) $(KeyNcpa) != $(KeyNull)
  1662.         GetRegValue    $(KeyNcpa) "ReviewPrograms" TmpList
  1663.         ifint $(RegLastError) == 0
  1664.             Debug-Output "RemoveInf: old List "*($(TmpList), 4)
  1665.             ForListDo *($(TmpList),4)
  1666.                 ifstr(i) $($) != "OEMNSVSM.INF"
  1667.                     set newList = >($(newList), $($))
  1668.                 endif
  1669.             EndForListDo
  1670.             Debug-Output "AddInf: new List "$(newList)
  1671.             SetRegValue $(KeyNcpa) {ReviewPrograms, 0, +
  1672.                                     $(!REG_VT_MULTI_SZ),$(newList)}
  1673.             CloseRegKey $(KeyNcpa)
  1674.             Set Status = STATUS_SUCCESSFUL
  1675.         endif
  1676.     else
  1677.         Debug-Output "RemoveInfFromReviewPrograms: error opening ncpa key."
  1678.     endif
  1679.     Debug-Output "RemoveInfFromReviewPrograms: exit"
  1680.     return $(Status)
  1681. [CreatePerfKey]
  1682.    Set Status              = STATUS_FAILED
  1683.    Set ServiceKey          = $($0)
  1684.    Set PerfDll             = $($1)
  1685.    Set PerfCounterFileName = $($2)
  1686.    Set PerfOpen            = $($3)
  1687.    Set PerfClose           = $($4)
  1688.    Set PerfCollect         = $($5)
  1689.    set KeyPerformance = $(!KeyNull)
  1690.    OpenRegKey $(ServiceKey) "" $(!PerfKeyName) $(!ACCESS) KeyPerformance
  1691.    ifstr $(KeyPerformance) == $(!KeyNull)
  1692.        CreateRegKey $(ServiceKey) {$(!PerfKeyName),$(NoTitle),GenericClass} +
  1693.                                    "" $(!ACCESS) "" KeyPerformance
  1694.        ifstr $(KeyPerformance) == $(!KeyNull)
  1695.            Debug-Output "Error creating Performance key"
  1696.            Set RegistryErrorIndex = $($R0)
  1697.            return $(Status) $(RegistryErrorIndex)
  1698.        endif
  1699.    endif
  1700.    set NewValueList = +
  1701.         {{Library ,$(NoTitle),$(!REG_VT_SZ),$(PerfDll)},+
  1702.         {Open, $(NoTitle),$(!REG_VT_SZ),$(PerfOpen)},+
  1703.         {Close, $(NoTitle),$(!REG_VT_SZ),$(PerfClose)},+
  1704.         {Collect, $(NoTitle),$(!REG_VT_SZ),$(PerfCollect)}}
  1705.    Shell  utility.inf, AddValueList, $(KeyPerformance), $(NewValueList)
  1706.    set RegistryErrorIndex = $($R0)
  1707.    ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1708.        set RegistryErrorIndex = ERROR
  1709.    endif
  1710.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1711.        CloseRegKey $(KeyPerformance)
  1712.        Debug-Output "OEMNSVSM.INF: error adding perf values"
  1713.        return STATUS_FAILED $(RegistryErrorIndex)
  1714.    endif
  1715.    CloseRegKey $(KeyPerformance)
  1716.    Set Status = STATUS_SUCCESSFUL
  1717.    return $(Status) $(RegistryErrorIndex)
  1718. [CreateEventLogKey]
  1719.    Set Status      = STATUS_FAILED
  1720.    Set Service     = $($0)
  1721.    Set PerfDll     = $($1)
  1722.    Set EventLogKeyName = $(!EventLogKey)"\"$(Service)
  1723.    OpenRegKey $(!REG_H_LOCAL) "" $(EventLogKeyName) $(!ACCESS) EvntLogKey
  1724.    ifstr $(EvntLogKey) == $(!KeyNull)
  1725.        OpenRegKey $(!REG_H_LOCAL) "" $(!EventLogKey) $(!ACCESS) EvntKey
  1726.        ifstr(i) $(EvntKey) != $(!KeyNull)
  1727.            CreateRegKey $(EvntKey) {$(Service),0,GenericClass} +
  1728.                                     ""  $(!ACCESS) "" EvntLogKey
  1729.            ifstr $(EvntLogKey) == $(!KeyNull)
  1730.                Debug-Output "Error creating eventlog key"
  1731.                    Set RegistryErrorIndex = $($R0)
  1732.                CloseRegKey $(EvntKey)
  1733.                return $(Status) $(RegistryErrorIndex)
  1734.            endif
  1735.        endif
  1736.        CloseRegKey $(EvntKey)
  1737.    endif
  1738.    Set NewValueList = +
  1739.             {{EventMessageFile,0,$(!REG_VT_EXPAND_SZ),$(PerfDll)}, +
  1740.             {TypeSupported,0,$(!REG_VT_DWORD),7}}
  1741.    Shell utility.inf, AddValueList, $(EvntLogKey), $(NewValueList)
  1742.    set RegistryErrorIndex = $($R0)
  1743.    ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1744.         set RegistryErrorIndex = ERROR
  1745.    endif
  1746.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1747.          CloseRegKey $(EvntLogKey)
  1748.          Debug-Output "Error adding values to eventlog key"
  1749.          return $(Status) $(RegistryErrorIndex)
  1750.    EndIf
  1751.    CloseRegKey $(EvntLogKey)
  1752.    set Status = STATUS_SUCCESSFUL
  1753.    Debug-Output "OEMNSVSM.INF: created the eventlog key"
  1754.    return $(Status) $(RegistryErrorIndex)
  1755. [RemoveAllServiceDependencies]
  1756.     Debug-Output "RemoveAllServiceDependencies: entry"
  1757.     set Status   = STATUS_SUCCESSFUL
  1758.     Set KeyNull  = ""
  1759.     set DependentService = $(!NTN_ServiceBase)\$($0)
  1760.     set DependentName = $($0)
  1761.     set KeyService = $(KeyNull)
  1762.     OpenRegKey $(!REG_H_LOCAL) "" $(DependentService) $(!ACCESS) KeyService
  1763.     ifstr $(KeyService) != $(KeyNull)
  1764.         set newDependList = {}
  1765.         GetRegValue    $(KeyService) "DeleteFlag" DeleteFlagValue
  1766.         ifint $(RegLastError) != 0
  1767.             GetRegValue    $(KeyService) "DependOnService" ServiceList
  1768.             ifint $(RegLastError) == 0
  1769.                 Debug-Output "RemoveAllServiceDependencies: old DependOnService List "*($(ServiceList), 4)
  1770.                 GetRegValue $(KeyService) "DependOnGroup" GrpList
  1771.                 ifint $(RegLastError) == 0
  1772.                     ForListDo *($(GrpList),4)
  1773.                        set grp = "+"$($)
  1774.                        set newDependList = >($(newDependList), $(grp))
  1775.                     EndForListDo
  1776.                 endif
  1777.                 Debug-Output "RemoveAllServiceDependencies: new DependOnService List "$(newDependList)
  1778.                 LibraryProcedure Result, $(!LIBHANDLE), +
  1779.                    SetupChangeServiceConfig, $(DependentName)  +
  1780.                    $(!SERVICE_NO_CHANGE), $(!SERVICE_NO_CHANGE), +
  1781.                    $(!SERVICE_NO_CHANGE), "", "",  +
  1782.                    $(newDependList), "", "", ""
  1783.             endif
  1784.         endif
  1785.         CloseRegKey $(KeyService)
  1786.     else
  1787.         Debug-Output "RemoveAllServiceDependencies: failed to open service key "$(DependentService)
  1788.     endif
  1789.     Debug-Output "RemoveAllServiceDependencies: exit"
  1790.     return $(Status)
  1791. [FindMediaType]
  1792.    Set Status = STATUS_FAILED
  1793.    Set CardName = $(!NTN_ServiceBase)"\"$($0)"\Parameters"
  1794.    OpenRegKey $(!REG_H_LOCAL) "" $(CardName) $(!ACCESS) CardKey
  1795.    Ifstr(i) $(CardKey) == $(!KeyNull)
  1796.           Set RegistryErrorIndex = $($R0)
  1797.       Return $(Status) $(RegistryErrorIndex)
  1798.    EndIf
  1799.    GetRegValue $(CardKey) "MediaType" MediaTypeList
  1800.    Set MediaType = *($(MediaTypeList),4)
  1801.    Set Status = STATUS_SUCCESSFUL
  1802.    Return $(Status) $(MediaType)
  1803. [CreateAtalkConfig]
  1804.    Set AdapterName         = $($0)
  1805.    Set KeyAdapters         = $($1)
  1806.    Set RetStatus    = STATUS_SUCCESSFUL
  1807.    read-syms GeneralConstants
  1808.    CreateRegKey $(KeyAdapters) {$(AdapterName), 0, GenericClass} "" $(!ACCESS) "", TempKeyAdapters
  1809.    Shell "" FindMediaType $($0)
  1810.    Ifstr(i) $($R0) == STATUS_SUCCESSFUL
  1811.           Set MediaType = $($R1)
  1812.    else
  1813.           Set RegistryErrorIndex = $($R1)
  1814.       Set RetStatus = $($R0)
  1815.       goto return
  1816.    EndIf
  1817.    set PortName            = $($0)"@"$(!STF_COMPUTERNAME)
  1818.    set ZoneList            = {""}
  1819.    set AarpRetries         = 10
  1820.    set DefaultZone         = ""
  1821.    set NewValueList = +
  1822.                         {{"AarpRetries",0,$(!REG_VT_DWORD),$(AarpRetries)}, +
  1823.             {"DefaultZone", 0,$(!REG_VT_SZ),$(DefaultZone)},+
  1824.             {"NetworkRangeUpperEnd",0,$(!REG_VT_DWORD),0 },+
  1825.             {"NetworkRangeLowerEnd",0,$(!REG_VT_DWORD),0 },+
  1826.             {"ZoneList",0,$(!REG_VT_MULTI_SZ),$(ZoneList)},+
  1827.             {"SeedingNetwork", 0,$(!REG_VT_DWORD),0},+
  1828.             {"DdpCheckSums", 0,$(!REG_VT_DWORD),0},+
  1829.             {"PortName",0,$(!REG_VT_SZ),$(PortName)}}
  1830.    Shell  $(UtilInf),AddValueList, $(TempKeyAdapters), $(NewValueList)
  1831.    set RegistryErrorIndex = $($R0)
  1832.    Ifstr $(RegistryErrorIndex) != NO_ERROR
  1833.           CloseRegKey $(TmpKeyAdapters)
  1834.       Set RetStatus = STATUS_FAILED
  1835.    EndIf
  1836. return = +
  1837.    Return $(RetStatus) $(RegistryErrorIndex)
  1838. [DoUAMInstall]
  1839.    Set Status      = STATUS_FAILED
  1840.    Set Mode        = $($0)
  1841.    read-syms DialogConstants$(!STF_LANGUAGE)
  1842.    read-syms VolList
  1843.    detect    VolList
  1844.    Set NTFSVolumeList = {}
  1845.    ForListDo $(VolumeFSList)
  1846.           Ifstr(i) $($) == "NTFS"
  1847.                  Set NTFSExists = TRUE
  1848.          Set NTFSVolumeList = >($(NTFSVolumeList),*($(VolumeList),$(#)))
  1849.       EndIf
  1850.    EndForListDo
  1851.    Ifstr(i) $(NTFSExists) != TRUE
  1852.           read-syms AFPString12$(!STF_LANGUAGE)
  1853.       Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  1854.       goto enduam
  1855.    EndIf
  1856.    OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\MacFile\Parameters\Volumes" $(!ACCESS) KeyVol
  1857.    ifstr(i) $(KeyVol) == $(!KeyNull)
  1858.           read-syms AFPString11$(!STF_LANGUAGE)
  1859.       Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  1860.       goto enduam
  1861.    endif
  1862.    Ifstr(i) $(Mode) == "INSTALL"
  1863.           Set UAMDrive = *($(NTFSVolumeList),1)
  1864.       read-syms UAMVars$(!STF_LANGUAGE)
  1865.    EndIf
  1866.    install "CreateUAMDir"
  1867.    Set Result = ""
  1868.    Set FLibraryErrCtl = 1
  1869.    LibraryProcedure Result, $(!UTILHANDLE), CopyUamFiles, +
  1870.                                         $(!STF_CWDDIR)$(!UamResSrcFile), +
  1871.                                         $(UAMPath)"\"$(!AppleShareFolder)"\"$(!UamResDestFile)
  1872.    Set FLibraryErrCtl = 0
  1873.    ifstr(i) $(Result) == "FAILED"
  1874.           read-syms UamFileNotCopied1$(!STF_LANGUAGE)
  1875.           Shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  1876.           Set Status = STATUS_USERCANCEL
  1877.       goto enduam
  1878.    EndIf
  1879.    Set Result = ""
  1880.    Set FLibraryErrCtl = 1
  1881.    LibraryProcedure     Result,$(!UTILHANDLE), CopyUamFiles, +
  1882.                                          $(!STF_CWDDIR)$(!UamInfoSrcFile), +
  1883.                                          $(UAMPath)"\"$(!AppleShareFolder)"\"$(!UamInfoDestFile)
  1884.    Set FLibraryErrCtl = 0
  1885.    ifstr(i) $(Result) == "FAILED"
  1886.           read-syms UamFileNotCopied1$(!STF_LANGUAGE)
  1887.       Shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  1888.       Set Status = STATUS_USERCANCEL
  1889.       goto enduam
  1890.    EndIf
  1891.    Set Result = ""
  1892.    Set FLibraryErrCtl = 1
  1893.    LibraryProcedure Result, $(!UTILHANDLE),CopyUamFiles,+
  1894.                                         $(!STF_CWDDIR)$(!UamReadMeSrcFile), +
  1895.                                         $(UAMPath)"\"$(!AppleShareFolder)"\"$(!UamReadMeDestFile)
  1896.    Set FLibraryErrCtl = 0
  1897.    ifstr(i) $(Result) == "FAILED"
  1898.           read-syms UamFileNotCopied1$(!STF_LANGUAGE)
  1899.       Shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  1900.       Set Status = STATUS_USERCANCEL
  1901.       goto enduam
  1902.    EndIf
  1903.    Set VolProperties = {"MAXUSES=1000", "PROPERTIES=163841","PASSWORD="}
  1904.    Set VolProperties = >($(VolProperties),"PATH="$(UAMPath))
  1905.    set NewValueList = +
  1906.                  {{$(!UAMVolumeName),0, $(!REG_VT_MULTI_SZ),$(VolProperties)}}
  1907.    Shell "utility.inf" AddValueList $(KeyVol) $(NewValueList)
  1908.    set RegistryErrorIndex = $($R0)
  1909.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1910.           CloseRegKey $(KeyVol)
  1911.           Set Status = STATUS_FAILED
  1912.       goto enduam
  1913.    EndIf
  1914.    Set Result = ""
  1915.    Set FLibraryErrCtl = 1
  1916.    LibraryProcedure Result, $(!UTILHANDLE),SfmSetUamSecurity $(UAMPath)
  1917.    Set FLibraryErrCtl = 0
  1918.    ifstr(i) $(Result) == "FAILED"
  1919.           read-syms UamSecurityNotSet$(!STF_LANGUAGE)
  1920.       Shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  1921.    endif
  1922.    Set Status = STATUS_SUCCESSFUL
  1923. enduam = +
  1924.    Return $(Status) $(RegistryErrorIndex)
  1925. [RemoveSfmFiles]
  1926.    Set Status = STATUS_SUCCESSFUL
  1927.    Set Mode = $($0)
  1928.    Set RemoveList = {}
  1929.    Set DelOnRebootList = {}
  1930.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, ATALKSYS, 1))
  1931.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, ATALKMSG, 1))
  1932.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, ATCONFIG, 1))
  1933.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, ATWINSOCK, 1))
  1934.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, AFPSVCEXE, 1))
  1935.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, AFPSVCMSG, 1))
  1936.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, AFPSRVR, 1))
  1937.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, AFPSVCAPI, 1))
  1938.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, AFPSVCMGR, 1))
  1939.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, PSTODIB1, 1))
  1940.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, PSTODIB2, 1))
  1941.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, PSTODIB3, 1))
  1942.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, PSTODIB4, 1))
  1943.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, MACPRINT, 1))
  1944.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, ATALKMON, 1))
  1945.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, AFPICONS, 1))
  1946.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, AFPTYPECRTR, 1))
  1947.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, UAMRES, 1))
  1948.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, UAMINF, 1))
  1949.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, UAMTXT, 1))
  1950.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, SFMRES, 1))
  1951.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, SFMHELP, 1))
  1952.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, SFMCTRSDLL, 1))
  1953.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, SFMCTRNMH, 1))
  1954.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, SFMCTRSINI, 1))
  1955.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, ATKCTRSDLL, 1))
  1956.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, ATKCTRNMH, 1))
  1957.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, ATKCTRSINI, 1))
  1958.    ForListDo $(RemoveList)
  1959.           Set DelStatus = ""
  1960.       Debug-Output "Deleting File "$($)
  1961.       Set FLibraryErrCtl = 1
  1962.       Ifstr(i) $(Mode) == "REMOVE"
  1963.                  LibraryProcedure DelStatus $(!UTILHANDLE), DelFile $($)
  1964.          ifstr(i) $(DelStatus) == "FAILED"
  1965.                         Set DelOnRebootList = >($(DelOnRebootList), $($))
  1966.          EndIf
  1967.           else
  1968.                  LibraryProcedure DelStatus $(!LIBHANDLE), DelFile $($)
  1969.       EndIf
  1970.       Set FLibraryErrCtl = 0
  1971.    EndForListDo
  1972.    ForListDo $(DelOnRebootList)
  1973.           Ifstr(i) $(Mode) == "REMOVE"
  1974.                  Debug-Output "File to remove on reboot = "$($)
  1975.          AddFileToDeleteList $($)
  1976.           else
  1977.                  Set FLibraryErrCtl  = 1
  1978.          LibraryProcedure DelStatus $(!LIBHANDLE), DelFile $($)
  1979.          Set FLibraryErrCtl  = 0
  1980.           EndIf
  1981.    EndForListDo
  1982.    Return $(Status)
  1983. [Install-PSPrint]
  1984.    AddSectionFilesToCopyList Files-PRINTPROC $(!STF_CWDDIR) $(!PrintProcDir)
  1985.    CopyFilesInCopyList
  1986.    Exit
  1987. [CreateUAMDir]
  1988.    CreateDir $(UAMPath)
  1989.    CreateDir $(UAMPath)"\"$(!AppleShareFolder)
  1990.    Exit
  1991. [Install-Update]
  1992.    set STF_VITAL = ""
  1993.    AddSectionFilesToCopyList Files-SFM $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1994.    AddSectionFilesToCopyList Files-SFMDrivers $(SrcDir) $(!STF_WINDOWSSYSPATH)"\drivers"
  1995.    AddSectionFilesToCopyList Files-UAM $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1996.    CopyFilesInCopyList
  1997.    Exit
  1998. [Install-Initial]
  1999.    set STF_VITAL = ""
  2000.    set OLDCOPYSTATE = $(!STF_NCPA_FLUSH_COPYLIST)
  2001.    set !STF_NCPA_FLUSH_COPYLIST = TRUE
  2002.    AddSectionFilesToCopyList Files-SFM $(SrcDir) $(!STF_WINDOWSSYSPATH)
  2003.    AddSectionFilesToCopyList Files-SFMDrivers $(SrcDir) $(!STF_WINDOWSSYSPATH)"\drivers"
  2004.    AddSectionFilesToCopyList Files-UAM $(SrcDir) $(!STF_WINDOWSSYSPATH)
  2005.    CopyFilesInCopyList
  2006.    set !STF_NCPA_FLUSH_COPYLIST = $(OLDCOPYSTATE)
  2007.    Exit
  2008. [Install-WinFile-Icon]
  2009.     CreateCommonProgManGroup $(GroupName), ""
  2010.     RemoveCommonProgManItem $(GroupName), $(IconName)
  2011.     CreateCommonProgManItem $(GroupName), $(IconName), winfile.exe, winfile.exe, ""
  2012.     ShowCommonProgManGroup $(GroupName), 6
  2013.     exit
  2014. [Remove-WinFile-Icon]
  2015.     RemoveCommonProgManItem $(GroupName), $(IconName)
  2016.     exit
  2017. [Files-RemoveList]
  2018. ATALKSYS        = $(!STF_WINDOWSSYSPATH)\drivers\sfmatalk.sys
  2019. ATALKMSG        = $(!STF_WINDOWSSYSPATH)\sfmatmsg.dll
  2020. ATCONFIG        = $(!STF_WINDOWSSYSPATH)\sfmatcfg.dll
  2021. ATWINSOCK       = $(!STF_WINDOWSSYSPATH)\sfmwshat.dll
  2022. AFPSVCEXE       = $(!STF_WINDOWSSYSPATH)\sfmsvc.exe
  2023. AFPSVCMSG       = $(!STF_WINDOWSSYSPATH)\sfmmsg.dll
  2024. AFPSVCAPI       = $(!STF_WINDOWSSYSPATH)\sfmapi.dll
  2025. AFPSVCMGR       = $(!STF_WINDOWSSYSPATH)\sfmmgr.cpl
  2026. AFPSRVR         = $(!STF_WINDOWSSYSPATH)\drivers\sfmsrv.sys
  2027. AFPICONS        = $(!STF_WINDOWSSYSPATH)\sfmicons.inf
  2028. AFPTYPECRTR     = $(!STF_WINDOWSSYSPATH)\sfmmap.inf
  2029. UAMINF          = $(!STF_WINDOWSSYSPATH)\sfmuam.ifo
  2030. UAMRES          = $(!STF_WINDOWSSYSPATH)\sfmuam.rsc
  2031. UAMTXT          = $(!STF_WINDOWSSYSPATH)\sfmuam.txt
  2032. MACPRINT        = $(!STF_WINDOWSSYSPATH)\sfmprint.exe
  2033. ATALKMON        = $(!STF_WINDOWSSYSPATH)\sfmmon.dll
  2034. PSTODIB1        = $(!STF_WINDOWSSYSPATH)\sfmpsexe.exe
  2035. PSTODIB2        = $(!STF_WINDOWSSYSPATH)\sfmpsfnt.dll
  2036. PSTODIB3        = $(!STF_WINDOWSSYSPATH)\sfmpsprt.dll
  2037. PSTODIB4        = $(!STF_WINDOWSSYSPATH)\sfmpsdib.dll
  2038. SFMHELP                 = $(!STF_WINDOWSSYSPATH)\sfmmgr.hlp
  2039. SFMRES                  = $(!STF_WINDOWSSYSPATH)\sfmres.dll
  2040. SFMCTRSDLL              = $(!STF_WINDOWSSYSPATH)\sfmctrs.dll
  2041. SFMCTRNMH               = $(!STF_WINDOWSSYSPATH)\sfmctrnm.h
  2042. SFMCTRSINI              = $(!STF_WINDOWSSYSPATH)\sfmctrs.ini
  2043. ATKCTRSDLL              = $(!STF_WINDOWSSYSPATH)\atlkctrs.dll
  2044. ATKCTRNMH               = $(!STF_WINDOWSSYSPATH)\atlkctrnm.h
  2045. ATKCTRSINI              = $(!STF_WINDOWSSYSPATH)\atlkctrs.ini
  2046. [UamGetLanguage]
  2047.    STF_LANGUAGE = "" ? $(!LIBHANDLE) GetLanguage
  2048. [UAMINSTALL]
  2049.    LoadLibrary "x" $(!STF_CWDDIR)setupdll.dll !LIBHANDLE
  2050.    read-syms UamGetLanguage
  2051.    detect UamGetLanguage
  2052.    read-syms GeneralConstants
  2053.    read-syms FileConstants
  2054.    read-syms FileConstants$(STF_LANGUAGE)
  2055.    Debug-Output "UAMINSTALL: Language = "$(STF_LANGUAGE)
  2056.    read-syms FSAndDiskSpace
  2057.    detect FSAndDiskSpace
  2058.    Set NTFSVolExists = FALSE
  2059.    Set NTFSVolumeList = {}
  2060.    ForListDo $(VolumeFSList)
  2061.           Ifstr(i) $($) == "NTFS"
  2062.                  Set NTFSVolExists = TRUE
  2063.                  Set NTFSVolumeList = >($(NTFSVolumeList),*($(VolumeList),$(#)))
  2064.       EndIf
  2065.    EndForListDo
  2066.    Ifstr(i) $(NTFSVolExists) == FALSE
  2067.           read-syms UamFileNotCopied1$(STF_LANGUAGE)
  2068.       Shell $(SubInf) SetupMessage $(STF_LANGUAGE) "NONFATAL" $(ErrorString)
  2069.       goto uaminstalldone
  2070.    EndIf
  2071.    LoadLibrary "y" $(!STF_CWDDIR)sfmutil.dll !UTILHANDLE
  2072.    Set !NTN_ServiceBase = "SYSTEM\CurrentControlSet\Services"
  2073.    OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\MacFile\Parameters\Volumes" $(!ACCESS) KeyVol
  2074.    ifstr(i) $(KeyVol) == $(!KeyNull)
  2075.           read-syms AFPString11$(!STF_LANGUAGE)
  2076.       Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  2077.       goto uaminstalldone
  2078.    endif
  2079.    Set UAMDrive = *($(NTFSVolumeList),1)
  2080.    read-syms UAMVars$(!STF_LANGUAGE)
  2081.    install "CreateUAMDir"
  2082.    Set Result = ""
  2083.    Set FLibraryErrCtl = 1
  2084.    LibraryProcedure Result,+
  2085.                          $(!UTILHANDLE), +
  2086.                          CopyUamFiles, +
  2087.                          $(!STF_CWDDIR)$(!UamResSrcFile), +
  2088.                          $(UAMPath)"\"$(!AppleShareFolder)"\"$(!UamResDestFile)
  2089.    Set FLibraryErrCtl = 0
  2090.    ifstr(i) $(Result) == "FAILED"
  2091.           read-syms UamFileNotCopied1$(!STF_LANGUAGE)
  2092.       Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  2093.       goto uaminstalldone
  2094.    EndIf
  2095.    Set Result = ""
  2096.    Set FLibraryErrCtl = 1
  2097.    LibraryProcedure Result,+
  2098.                                          $(!UTILHANDLE),+
  2099.                                          CopyUamFiles, +
  2100.                                          $(!STF_CWDDIR)$(!UamInfoSrcFile) +
  2101.                                          $(UAMPath)"\"$(!AppleShareFolder)"\"$(!UamInfoDestFile)
  2102.    Set FLibraryErrCtl = 0
  2103.    ifstr(i) $(Result) == "FAILED"
  2104.           read-syms UamFileNotCopied1$(!STF_LANGUAGE)
  2105.       Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  2106.       goto uaminstalldone
  2107.    EndIf
  2108.    Set Result = ""
  2109.    Set FLibraryErrCtl = 1
  2110.    LibraryProcedure Result, +
  2111.                                          $(!UTILHANDLE), +
  2112.                                          CopyUamFiles, +
  2113.                                          $(!STF_CWDDIR)$(!UamReadMeSrcFile) +
  2114.                                          $(UAMPath)"\"$(!AppleShareFolder)"\"$(!UamReadMeDestFile)
  2115.    Set FLibraryErrCtl = 0
  2116.    ifstr(i) $(Result) == "FAILED"
  2117.           read-syms UamFileNotCopied1$(!STF_LANGUAGE)
  2118.       Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  2119.       goto uaminstalldone
  2120.    EndIf
  2121.    Set VolProperties = {"MAXUSES=1000", "PROPERTIES=163841","PASSWORD="}
  2122.    Set VolProperties = >($(VolProperties),"PATH="$(UAMPath))
  2123.    set NewValueList = +
  2124.                         {{$(!UAMVolumeName), 0, $(!REG_VT_MULTI_SZ),$(VolProperties)}}
  2125.    Shell $(UtilInf) AddValueList $(KeyVol) $(NewValueList)
  2126.    set RegistryErrorIndex = $($R0)
  2127.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  2128.        CloseRegKey $(KeyVol)
  2129.    EndIf
  2130.    Set Result = ""
  2131.    Set FLibraryErrCtl = 1
  2132.    LibraryProcedure Result, $(!UTILHANDLE),SfmSetUamSecurity $(UAMPath)
  2133.    Set FLibraryErrCtl = 0
  2134.    ifstr(i) $(Result) == "FAILED"
  2135.           read-syms UamSecurityNotSet$(!STF_LANGUAGE)
  2136.           Shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  2137.   endif
  2138. uaminstalldone = +
  2139.    FreeLibrary $(!LIBHANDLE)
  2140.    FreeLibrary $(!UTILHANDLE)
  2141.    exit
  2142. [Source Media Descriptions]
  2143.     1 = "Windows NT Server CD-ROM", TAGFILE = cdrom_s.40
  2144. [Signature]
  2145.     FileType = MICROSOFT_FILE
  2146. [GetSignature]
  2147.     read-syms Signature
  2148.     return $(FileType)
  2149. [ProductType]
  2150. STF_PRODUCT  = LanmanNT
  2151. STF_PLATFORM = I386
  2152. [Files-Inf]
  2153. 2,    oemsetup.inf,     SIZE=1000,    RENAME=$(!UG_Filename)
  2154. [Files-PRINTPROC]
  2155. 1,SFMPSPRT.DLL , SIZE=999
  2156. [Files-SFM]
  2157. 1,ATKCTRS.DLL , SIZE=999
  2158. 1,MACFILE.EXE , SIZE=999
  2159. 1,SFMAPI.DLL , SIZE=999
  2160. 1,SFMATCFG.DLL , SIZE=999
  2161. 1,SFMATMSG.DLL , SIZE=999
  2162. 1,SFMCTRS.DLL , SIZE=999
  2163. 1,SFMICON.VOL , SIZE=999
  2164. 1,SFMICONS.INF , SIZE=999
  2165. 1,SFMMAP.INF , SIZE=999
  2166. 1,SFMMGR.CNT , SIZE=914
  2167. 1,SFMMGR.CPL , SIZE=999
  2168. 1,SFMMGR.HLP , SIZE=64891
  2169. 1,SFMMON.DLL , SIZE=999
  2170. 1,SFMMSG.DLL , SIZE=999
  2171. 1,SFMPRINT.EXE , SIZE=999
  2172. 1,SFMPSDIB.DLL , SIZE=999
  2173. 1,SFMPSEXE.EXE , SIZE=999
  2174. 1,SFMPSFNT.DLL , SIZE=999
  2175. 1,SFMPSPRT.DLL , SIZE=999
  2176. 1,SFMRES.DLL , SIZE=999
  2177. 1,SFMSVC.EXE , SIZE=999
  2178. 1,SFMUAM.TXT , SIZE=999
  2179. 1,SFMUTIL.DLL , SIZE=999
  2180. 1,SFMWSHAT.DLL , SIZE=999
  2181. [Files-SFMDrivers]
  2182. 1,SFMATALK.SYS , SIZE=999
  2183. 1,SFMSRV.SYS , SIZE=999
  2184. [Files-UAM]
  2185. 1,SFMUAM.IFO , SIZE=999
  2186. 1,SFMUAM.RSC , SIZE=999
  2187. [LanguagesSupported]
  2188. ENG
  2189. [OptionsTextENG]
  2190. SFM      = "Services for Macintosh"
  2191. [FileConstantsENG]
  2192. FunctionTitle                   =  "Services for Macintosh Setup"
  2193. ProductATALKDescription         =  "Enables a Macintosh computer to access shared disk space on your computer."
  2194. ProductAFPSVCDescription        =  "AppleTalk File Server"
  2195. ProductMACPRINTDescription      =  "AppleTalk Print Server"
  2196. ProductSFMDescription           =  "Enables a Windows NT Server to act as an AppleTalk router, allowing PC and Macintosh clients to share files and printers."
  2197. ProCaption      = $(FunctionTitle)
  2198. ProCancel       = "Cancel"
  2199. ProCancelMsg    = "Services for Macintosh is not correctly installed. "+
  2200.                   "Are you sure you want to cancel copying files ?"
  2201. ProCancelCap    = "Services for Macintosh Setup"
  2202. ProText1        = "Copying:"
  2203. ProText2        = "To:"
  2204. Error           = "User has cancelled copying files. Copied files will be removed."
  2205. MajorVersion    = "MajorVersion"
  2206. MinorVersion    = "MinorVersion"
  2207. Version         =  "Version "
  2208. AskLocationText = "Setup needs to copy Services for Macintosh files."$(!LF)$(!LF)+
  2209.                   "Setup will look for the files in the location specified below. If you want "+
  2210.                   "Setup to look in a different place, type the new location. When the location "+
  2211.                   "is correct, click Continue."
  2212. ProductSFMTitle                 = "Services for Macintosh"
  2213. ProductATALKDisplayName         = "AppleTalk Protocol"
  2214. ProductATALKTitle               = "AppleTalk Protocol"
  2215. ProductAFPSVCDisplayName        = "File Server for Macintosh"
  2216. ProductAFPSVCTitle              = "File Server for Macintosh"
  2217. ProductAFPSRVRDisplayName       = "SFM Kernel Driver"
  2218. ProductMACPRINTDisplayName      = "Print Server for Macintosh"
  2219. ProductMACPRINTTitle            = "Print Server for Macintosh"
  2220. !UAMVolumeName                  = "Microsoft UAM Volume"
  2221. !AtalkMonName                   = "AppleTalk Printing Devices"
  2222. !AtalkMonEventLogName           = "AppleTalk Print Monitor"
  2223. !AppleShareFolder                       = "AppleShare Folder"
  2224. !UamReadMeDestFile                      = "ReadMe.UAM"
  2225. GroupName    = "Administrative Tools"
  2226. IconName     = "File Manager"
  2227. [DialogConstantsENG]
  2228. Help        = "&Help"
  2229. Exit        = "E&xit Setup"
  2230. OK          = "OK"
  2231. HelpContext = ""
  2232. Continue    = "Continue"
  2233. Cancel      = "Cancel"
  2234. [UAMVarsENG]
  2235. UAMDirName     =       "Microsoft UAM Volume"
  2236. UAMPath        =       $(UAMDrive)"\"$(UAMDirName)
  2237. [TCCommentsENG]
  2238. !XCEL1COMMENT   = "Comment=MS Excel 3.0 Chart"
  2239. !XCEL2COMMENT   = "Comment=MS Excel 3.0 Spreadsheet"
  2240. !XCEL3COMMENT   = "Comment=MS Excel 3.0 Macrosheet"
  2241. !XCEL4COMMENT   = "Comment=MS Excel 3.0 Workspace"
  2242. !XCEL5COMMENT   = "Comment=MS Excel 3.0 Add-in MacroFile"
  2243. !XCEL6COMMENT   = "Comment=MS Excel 3.0 Template File"
  2244. !XCEL7COMMENT   = "Comment=MS Excel 3.0"
  2245. !XCEL8COMMENT   = "Comment=MS Excel 4.0 Chart"
  2246. !XCEL9COMMENT   = "Comment=MS Excel 4.0 Spreadsheet"
  2247. !XCEL10COMMENT  = "Comment=MS Excel 4.0 Macrosheet"
  2248. !XCEL11COMMENT  = "Comment=MS Excel 4.0 WorkSpace"
  2249. !XCEL12COMMENT  = "Comment=MS Excel 4.0 Add-in MacroFile"
  2250. !XCEL13COMMENT  = "Comment=MS Excel 4.0 Template File"
  2251. !MSWD1COMMENT   = "Comment=MS Word 5.1 Document"
  2252. !MSWD2COMMENT   = "Comment=MS Word 5.1 Document"
  2253. !MSWD3COMMENT   = "Comment=MS Word 6.0 Document"
  2254. !MSWD4COMMENT   = "Comment=MS Word 6.0 Template"
  2255. !MSPJ1COMMENT   = "Comment=MS Project 4.0"
  2256. !MSPJ2COMMENT   = "Comment=MS Project 4.0 Exchange File"
  2257. !MSPJ3COMMENT   = "Comment=MS Project 4.0 Calendar"
  2258. !MSPJ4COMMENT   = "Comment=MS Project 4.0 View"
  2259. !MSPJ5COMMENT   = "Comment=MS Project 4.0 WorkSpace"
  2260. !MSPJ6COMMENT   = "Comment=MS Project 4.0 Template"
  2261. !ALD31COMMENT   = "Comment=Pagemaker 3.0  Publication"
  2262. !ALD32COMMENT   = "Comment=Pagemaker 3.0 Template"
  2263. !ALD33COMMENT   = "Comment=Pagemaker 3.0 Tiff Graphics"
  2264. !ALD41COMMENT   = "Comment=Pagemaker 4.0 Publication"
  2265. !ALD42COMMENT   = "Comment=Pagemaker 4.0 Template"
  2266. !ALD43COMMENT   = "Comment=Pagemaker 4.0 Tiff Graphics"
  2267. !MORECOMMENT    = "Comment=Symantec More File"
  2268. !FOX+COMMENT    = "Comment=FoxBase Plus"
  2269. !ARTZCOMMENT    = "Comment=Adobe Illustrator"
  2270. !SIT!COMMENT    = "Comment=Aladdin Stuffit"
  2271. !PPT2COMMENT    = "Comment=MS PowerPoint 2.0"
  2272. !PPT3COMMENT    = "Comment=MS PowerPoint 3.0"
  2273. !L123COMMENT    = "Comment=Lotus 1-2-3"
  2274. !LMANCOMMENT    = "Comment=LMAN Executables"
  2275. !TTXTCOMMENT    = "Comment=Teach Text Document"
  2276. !FOXX1COMMENT   = "Comment=FoxPro 2.0 Table"
  2277. !FOXX2COMMENT   = "Comment=FoxPro 2.0 Memo"
  2278. !FOXX3COMMENT   = "Comment=FoxPro 2.0 Index"
  2279. !FOXX4COMMENT   = "Comment=FoxPro 2.0 Compound Index"
  2280. !FOXX5COMMENT   = "Comment=FoxPro 2.0 Program"
  2281. !FOXX6COMMENT   = "Comment=FoxPro 2.0 Report"
  2282. !FOXX7COMMENT   = "Comment=FoxPro 2.0 Report Memo"
  2283. !FOXX8COMMENT   = "Comment=FoxPro 2.0 Label"
  2284. !FOXX9COMMENT   = "Comment=FoxPro 2.0 Label Memo"
  2285. !FOXX10COMMENT   = "Comment=FoxPro 2.0 Screen"
  2286. !FOXX11COMMENT   = "Comment=FoxPro 2.0 Screen Memo"
  2287. !FOXX12COMMENT   = "Comment=FoxPro 2.0 Menu"
  2288. !FOXX13COMMENT   = "Comment=FoxPro 2.0 Menu Memo"
  2289. !FOXX14COMMENT   = "Comment=FoxPro 2.0 Gen. Query Program"
  2290. !FOXX15COMMENT   = "Comment=FoxPro 2.0 Project"
  2291. !FOXX16COMMENT   = "Comment=FoxPro 2.0 Project Memo"
  2292. [SetupSpaceDlgENG]
  2293. STF_MB_TEXT = +
  2294. "Setup could not find enough space on your Windows NT Server system partition. "+
  2295. "Setup requires at least 2 MB for installing Services for Macintosh. "+
  2296. "You can retry installation after freeing up disk space on your system partition."
  2297. DlgType         = "MessageBox"
  2298. STF_MB_TYPE     = 5
  2299. STF_MB_ICON     = 3
  2300. STF_MB_DEF      = 3
  2301. STF_MB_TITLE    = $(FunctionTitle)
  2302. [ExitWarningDlgENG]
  2303. STF_MB_TITLE    = "Services for Macintosh Setup"
  2304. STF_MB_TEXT     = "Services for Macintosh is not correctly installed. Are you "+
  2305.                   "sure you want to exit Setup?"
  2306. DlgType         = "MessageBox"
  2307. STF_MB_TYPE     = 3
  2308. STF_MB_ICON     = 5
  2309. STF_MB_DEF      = 2
  2310. [MiscErrorString1ENG]
  2311. ErrorString = +
  2312. " of Services for Macintosh is already installed on your system. "+
  2313. "Use [Update] to update to newer versions."
  2314. [MiscErrorString2ENG]
  2315. ErrorString = +
  2316. "Sufficient memory is not available on your system to run  "+
  2317. "Services for Macintosh. Services for Macintosh requires "+
  2318. "a minimum of 8 MB to function."
  2319. [MiscErrorString3ENG]
  2320. ErrorString = +
  2321. "Setup encountered the following error during installation. Try installing "+
  2322. "Services for Macintosh after rebooting your system. "$(LF)
  2323. [ShellingErrorENG]
  2324. ErrorString  = +
  2325. "An internal error occurred. Contact Technical Support."
  2326. [NTFSFormatHappeningENG]
  2327. ErrorString = +
  2328. "Setup could not find any NTFS partitions in your system. You could be "+
  2329. "reformatting or converting your existing NTFS partition. The Microsoft UAM "+
  2330. "volume cannot be installed at this time. Setup will proceed with installation. "+
  2331. "Use the command SETUP /i OEMNSVSM.INF /c UAMINSTALL to install the UAM volume "+
  2332. "after Windows NT Server installation."
  2333. [UamFileNotCopiedENG]
  2334. ErrorString  = +
  2335. "Setup cannot copy Microsoft user authentication files to the Microsoft UAM "+
  2336. "volume. Macintosh workstations will be unable to download these files. There "+
  2337. "may not be enough disk space on your NTFS partition or the UAM files might be "+
  2338. "missing from your Windows NT Server distribution disks. Refer to your Administrator's guide "+
  2339. "on how to create this volume after installation."
  2340. [UamFileNotCopied1ENG]
  2341. ErrorString  = +
  2342. "Setup cannot copy Microsoft user authentication files to the Microsoft UAM "+
  2343. "volume. Macintosh workstations will be unable to download these files. There "+
  2344. "may not be enough disk space on your NTFS partition or the UAM files might be "+
  2345. "missing from your Windows NT Server distribution disks. Refer to your Administrator's guide "+
  2346. "on how to create this volume after installation."
  2347. [UamSecurityNotSetENG]
  2348. ErrorString = +
  2349. "Setup cannot set the default security settings for the UAM volume. "+
  2350. "Security for the UAM volume can also be set from the User Manager "+
  2351. "after installation."
  2352. [CannotStartAtalkENG]
  2353. ErrorSuffix = +
  2354. "Setup was unable to start the AppleTalk Protocol. You will be unable to choose "+
  2355. "a desired zone at this time."
  2356. [CannotStartAfdENG]
  2357. ErrorSuffix = +
  2358. "Setup was unable to start the AFD Driver. You will be unable to choose "+
  2359. "a desired zone at this time."
  2360. [StatusInstallSfmENG]
  2361. Status = "Installing Services for Macintosh..."
  2362. [StatusRemoveSfmENG]
  2363. Status = "Removing Services for Macintosh files..."
  2364. [StatusStartingAppleTalkENG]
  2365. Status = "Starting AppleTalk Protocol..."
  2366. [AtalkString1ENG]
  2367. ErrorString  = +
  2368. "Setup cannot add Windows sockets support for the AppleTalk protocol. "+
  2369. "Windows sockets applications will be unable to use the AppleTalk Protocol. "+
  2370. "Remove Services for Macintosh after installation and re-install. If the problem "+
  2371. "persists, contact Microsoft support."
  2372. [AtalkString2ENG]
  2373. ErrorString  = +
  2374. "Setup cannot remove Windows Sockets support for the AppleTalk protocol."
  2375. [AtalkString3ENG]
  2376. ErrorString  = +
  2377. "Services for Macintosh has just been installed. Services will be "+
  2378. "available to Macintosh workstations in the default network. If you would like "+
  2379. "the services to appear in a different zone or to configure routing, close "+
  2380. "the Control Panel, reboot, start AppleTalk and use the Control Panel "+
  2381. "to configure Services for Macintosh."
  2382. [AtalkString5ENG]
  2383. ErrorString = +
  2384. "Setup cannot remove the monitor for the Print Server for Macintosh."
  2385. [AFPString1ENG]
  2386. ErrorString = +
  2387. "Setup cannot find an NTFS partition on your system. "+
  2388. "Services for Macintosh requires an NTFS partition for "+
  2389. "Macintosh workstations to share files. You can create "+
  2390. "the NTFS partition after installing Services for Macintosh. "+
  2391. "To format a partition to NTFS, use the command, format [drive] /fs:NTFS. "+
  2392. "Setup will proceed with installation."
  2393. [AFPString2ENG]
  2394. ErrorString = +
  2395. "Setup cannot add the Macintosh File Server to the File Manager. "+
  2396. "You will be unable to work with Macintosh accessible volumes from "+
  2397. "File Manager."
  2398. [AFPString3ENG]
  2399. ErrorString  = +
  2400. "Setup cannot add the Macintosh File Server to the Server Manager. "+
  2401. "You will be unable to work with Services for Macintosh servers from "+
  2402. "Server Manager."
  2403. [AFPString11ENG]
  2404. ErrorString  = +
  2405. "Setup can not find the volumes key in the MacFile section in registry. "+
  2406. "The UAM volume cannot be built."
  2407. [AFPString12ENG]
  2408. ErrorString  = +
  2409. "Setup can not find any NTFS volumes in your system. The UAM volume can not be installed."
  2410. [MacPrintString2ENG]
  2411. ErrorString = +
  2412. "Setup cannot create the eventlog entries for the Print Server for Macintosh. "+
  2413. "You will be unable to use the event viewer to see the log for Print Server "+
  2414. "for Macintosh."
  2415. [MacPrintString3ENG]
  2416. ErrorString = +
  2417. "Setup cannot add the print processor for the Print Server for Macintosh. "+
  2418. "Macintosh workstations will be unable to print postscript jobs to a "+
  2419. "non-postscript printer on the Windows NT Server network."
  2420. [MacPrintString4ENG]
  2421. ErrorString = +
  2422. "Setup cannot add the print monitor for the Print Server for Macintosh. "+
  2423. "Macintosh workstations will be unable to use print services on this "+
  2424. "Windows NT Server."
  2425. [MacPrintString5ENG]
  2426. ErrorString = +
  2427. "Setup cannot remove the print processor for the Print Server for Macintosh."
  2428. [MacPrintString6ENG]
  2429. ErrorString = +
  2430. "Setup can not find the directory to install the Macintosh print processor. "+
  2431. "The Macintosh print processor will not be installed."
  2432. [MacPrintString7ENG]
  2433. ErrorString = +
  2434. "Setup cannot remove the monitor for the Print Server for Macintosh."
  2435. [MacPrintString10ENG]
  2436. ErrorString = +
  2437. "Setup cannot create the eventlog entries for the Print Server for Macintosh monitor. "+
  2438. "You will be unable to use the event viewer to see the log for Print Server "+
  2439. "for Macintosh."
  2440. [NoAdaptersFoundENG]
  2441. ErrorString = +
  2442. "Setup cannot find any network adapter for Services for Macintosh. You will "+
  2443. "be unable to use Services for Macintosh. Try adding a network adapter or "+
  2444. "enable the bindings for AppleTalk Protocol."
  2445. [RemoveDefaultPortENG]
  2446. ErrorString  = +
  2447. "Setup has detected that the default network adapter used by Services "+
  2448. "for Macintosh has been removed. Setup will change the default network, if "+
  2449. "one is available. This may cause Macintosh workstations to no longer "+
  2450. "see Services for Macintosh on their current zone."
  2451.